Giter Club home page Giter Club logo

xdev68k's People

Contributors

yosshin4004 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

xdev68k's Issues

stop thread in xdev68k/example/thread

Hi there.
I'm trying to do multiprocessing in the X68000 and your sample has been very good for me to understand how it works.

However I'm finding that when running the KILL_PR() instruction the process stops indeed but in the main program it doesn't get to print "main: exit." and it leaves the system in an unstable state and the thread still exists in memory. If you try to run the program again it returns error -27 which means "Thread with same name exists".

Any thought on what might happen here?

Regards.
Federico.

as error: unrecognised option --64 installing m68k toolchain

I'm trying to install the m68k toolchain on my linux machine. I encounter errors during the stage1 build of the GCC compiler:
After executing ./build_m68k-toolchain.sh I get the following error:

make[1]: Entering directory '/home/asura/Documents/68k/xdev68k/build_gcc/build/gcc-10.2.0_stage1/gcc'
TARGET_CPU_DEFAULT="" \
HEADERS="auto-host.h ansidecl.h" DEFINES="" \
/bin/sh ../../../src/gcc-10.2.0/gcc/mkconfig.sh config.h
TARGET_CPU_DEFAULT="m68000" \
HEADERS="options.h insn-constants.h config/m68k/m68k.h config/m68k/m68k-none.h config/m68k/m68kelf.h config/dbxelf.h config/elfos.h config/newlib-stdint.h config/m68k/m68kemb.h config/m68k/m68020-elf.h config/initfini-array.h defaults.h" DEFINES="LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4 MOTOROLA=1" \
/bin/sh ../../../src/gcc-10.2.0/gcc/mkconfig.sh tm.h
TARGET_CPU_DEFAULT="" \
HEADERS="config/m68k/m68k-protos.h tm-preds.h" DEFINES="" \
/bin/sh ../../../src/gcc-10.2.0/gcc/mkconfig.sh tm_p.h
TARGET_CPU_DEFAULT="" \
HEADERS="auto-host.h ansidecl.h" DEFINES="" \
/bin/sh ../../../src/gcc-10.2.0/gcc/mkconfig.sh bconfig.h
g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE   -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H  -DGENERATOR_FILE -fno-PIE -I. -Ibuild -I../../../src/gcc-10.2.0/gcc -I../../../src/gcc-10.2.0/gcc/build -I../../../src/gcc-10.2.0/gcc/../include  -I../../../src/gcc-10.2.0/gcc/../libcpp/include  \
-DBASEVER="\"10.2.0\"" -DDATESTAMP="\"\"" \
-DREVISION="\"\"" \
-DDEVPHASE="\"\"" -DPKGVERSION="\"(GCC) \"" \
-DBUGURL="\"<https://gcc.gnu.org/bugs/>\"" -o build/version.o ../../../src/gcc-10.2.0/gcc/version.c
LC_ALL=C ; export LC_ALL ; \
gawk -f ../../../src/gcc-10.2.0/gcc/opt-gather.awk ../../../src/gcc-10.2.0/gcc/ada/gcc-interface/lang.opt ../../../src/gcc-10.2.0/gcc/brig/lang.opt ../../../src/gcc-10.2.0/gcc/d/lang.opt ../../../src/gcc-10.2.0/gcc/fortran/lang.opt ../../../src/gcc-10.2.0/gcc/go/lang.opt ../../../src/gcc-10.2.0/gcc/lto/lang.opt ../../../src/gcc-10.2.0/gcc/c-family/c.opt ../../../src/gcc-10.2.0/gcc/common.opt ../../../src/gcc-10.2.0/gcc/params.opt ../../../src/gcc-10.2.0/gcc/analyzer/analyzer.opt ../../../src/gcc-10.2.0/gcc/config/m68k/m68k-tables.opt ../../../src/gcc-10.2.0/gcc/config/m68k/m68k.opt > tmp-optionlist
/home/asura/Documents/68k/xdev68k/m68k-toolchain/m68k-elf/bin/as: unrecognized option '--64'
make[1]: *** [Makefile:2730: build/version.o] Error 1
make[1]: *** Waiting for unfinished jobs....
/bin/sh ../../../src/gcc-10.2.0/gcc/../move-if-change tmp-optionlist optionlist
echo timestamp > s-options
make[1]: Leaving directory '/home/asura/Documents/68k/xdev68k/build_gcc/build/gcc-10.2.0_stage1/gcc'
make: *** [Makefile:4385: all-gcc] Error 2

Not too sure why the --64 option must be called for this assembler.
Here are the details to my OS.

-------------- 
OS: Arch Linux x86_64 
Host: OMEN Laptop 15-en1xxx 
Kernel: 6.7.3-arch1-1 
Uptime: 4 hours, 21 mins 
Packages: 1512 (pacman) 
Shell: zsh 5.9 
Resolution: 2560x1440 
DE: Plasma 5.27.10 
WM: KWin 
WM Theme: Fluent 
Theme: Breeze Light [Plasma], Breeze [GTK2/3] 
Icons: Win11-dark [Plasma], Win11-dark [GTK2/3] 
Terminal: konsole 
CPU: AMD Ryzen 7 5800H with Radeon Graphics (16) @ 4.463GHz 
GPU: AMD ATI Radeon Vega Series / Radeon Vega Mobile Series 
GPU: NVIDIA GeForce RTX 3070 Mobile / Max-Q 
Memory: 10424MiB / 15334MiB 

autoreconfが入っていないケース

Pop_OSで、./install_xdev68k-utils.shを実行時にautoreconfが入っていないためにインストールが中断されましたが、
sudo apt-get install autoconf automake libtool
で、インストールすれば解決しました。

README.md「従来の X68K 対応コンパイラとの互換性問題」の項目

README.mdの「従来の X68K 対応コンパイラとの互換性問題」の記述について気になったことがあります。

  • 破壊レジスタの違い(回避可能)

    xdev68k/README.md

    Lines 411 to 412 in 1d28694

    従来の X68K 対応コンパイラ : d0-d2/a0-a2/fp0-fp1
    m68k-elf-gcc : d0-d2/a0-a2/fp0-fp1

m68k-elf-gccの方は d0-d1/a0-a1/fp0-fp1 でしょうか。

  • long double 型のビット幅の違い(回避不能)

    xdev68k/README.md

    Lines 448 to 449 in 1d28694

    従来の X68K 対応コンパイラ : long double = 8 bytes 型(double 型互換)
    m68k-elf-gcc : long double = 12 bytes 型

GCC2は12バイトなので、混乱を避けるためここにGCC2も入れたほうがよいかと思います。

`install_xdev68k-utils.sh` can fail if build tools like "ninja" are installed

This happens when running cmake for run68k. Here is the command line log on my MinGW64 install:

-- Building for: Ninja
-- The C compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/msys64/mingw64/bi
n/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/msys64/home/g
gn/xdev68k/installer_temp/run68mac-master/build
make: *** No targets specified and no makefile found.  Stop.

A very easy fix is to change https://github.com/yosshin4004/xdev68k/blob/main/install_xdev68k-utils.sh#L74 to the following:

cmake -G"Unix Makefiles" ..

This forces cmake to generate plain makefiles, and then the script finishes successfully.

Specify which of the 7 MSYS2 environments (consoles/terminals) to use

From the README:

The msys installer is available at https://www.msys2.org/ . Once the installation is complete, run the following on the msys console to install the tools necessary to build the environment, such as gcc and perl.

Please specify which of the 7 environments/consoles to use. See my answer here for what I'm talking about: Installing & setting up MSYS2 from scratch, including adding all 7 profiles to Windows Terminal


Also, huge thanks for this!: https://github.com/yosshin4004/xdev68k/blob/main/build_m68k-toolchain.sh#L199-L210

It works for me too, here: C++: error: expected ',' or '...' before string constant before __FILE__ in fancy_abort (__FILE__, __LINE__, __FUNCTION__) when compiling gcc. What a pain!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.