From: Thorsten O. <ad...@th...> - 2017-11-09 09:34:37
|
On Donnerstag, 9. November 2017 09:54:11 CET Miro Kropáček wrote: > Basically he takes plain m68k gcc, compiles everything and links using a > special ld script and then just converts into an atari binary using vlink. Thats a bit simpler than the browngcc attempt, but still needs an additional step in linking. And you still need libraries compiled for this target. Also, if you look at the flags (-ffreestanding, -fno-rtti etc.) that means gcc does not do any optimizations to builtin function, you can't compile most c++ programs and similar quirks. I think he will get the same problems as me with global constructors for example: the elf compiler will not generate a call to ___main(), so they don't get executed. And if i understand it right, he is using the libc from vbcc, which is good enough for most tos programs, but certainly not for gnu packages (or is he using his own version? not sure) The main purpose why i attempted on building my port was to be able to just do a "./configure target=m68k-atari-mintelf; make; make install". And if you look at the scripts, this is actually almost everything that is done there. The only hassle is to build the different libraries for different cpus. >One can produce lto'ed binaries, too. Yes, thats the point, building them. Having to write the scripts is one thing, but having to patch all configure scripts of the packages to get them compiled with an unknown target, and adding special flags, and additional steps to produce binaries (lots of libraries like iconv, bzip etc also build executables), is another. PS.: oh i just saw, he is using his own version of crt startup, executing the constructors manually. PS2.: is that simonsunnyboy from the forum? |