freemint / m68k-atari-mint-binutils-gdb

Fork of sourceware's binutils-gdb with support for the m68k-atari-mint target.
https://github.com/freemint/m68k-atari-mint-binutils-gdb/wiki
GNU General Public License v2.0
11 stars 4 forks source link

m68k-atari-mint for binutils 2.28 (and master) #2

Closed mikrosk closed 7 years ago

mikrosk commented 7 years ago

Statement about unavailability of a.out in newer binutils here: http://d-bug.mooo.com/beyondbrown/post/gcc-6/ got me curious and this is the result. :)

Please note that #1 still stands -- this patch does not compile the current source tree, it fails on gdb unsupported.

However, if you download the official binutils 2.28 (or snapshot) it will compile because gdb is a separate package (really strange way of releasing sources if you ask me).

Briefly tested with gcc 4.6.4.

@vinriviere please take a look and if you know how, please disable gdb compilation for m68k-atari-mint target in this tree. Also not sure how did you originally got branches and tags in this tree so I'm providing patch based against master (but there shouldn't be a problem 'backporting' it to 2.27 and 2.28).

vinriviere commented 7 years ago

I wasn't anxious about a.out removal. While this is true for generic a.out target, a.out support for specific targets (such as m68k-netbsd) is still present. People are often confused because of that. I suspected that the MiNT patch still applied well, thanks to have tested that.

The binutils-gdb source tree is indeed quite strange, as it is common for both binutils and gdb distributions. To build only binutils from the complete Git source tree, you need to add "--disable-gdb --disable-libdecnumber --disable-readline --disable-sim" on the configure command line (source). As you noticed, this is not required if the source tree only contains binutils stuff, which is the case in official source distributions.

As there is no hurry to upgrade to binutils 2.28, I will take the time to review the patch. I usually diff the m68k and a.out stuff from previous version to see if something important has changed, and would need to be added to the MiNT patch.

mikrosk commented 7 years ago

Sure, no rush. As you can see in my second commit (https://github.com/freemint/m68k-atari-mint-binutils-gdb/pull/2/commits/93061733c59f68ab8ec1e1489f2de5a1185d9faf), there were some changes needed but nothing complex. Of course it's a good idea to compare changes across unpatched versions.

vinriviere commented 7 years ago

Also not sure how did you originally got branches and tags in this tree so I'm providing patch based against master (but there shouldn't be a problem 'backporting' it to 2.27 and 2.28).

I got branches and tags by simply doing: git clone git://sourceware.org/git/binutils-gdb.git That's all.

vinriviere commented 7 years ago

@mikrosk In order to practice with Git, I have just ported the patch to binutils 2.27 and 2.28. And I obtain the very same sources as you :v: This is a very good clue that we probably have done the right thing. To keep all our work in the history, I have merged the branches of our 2 patches into the binutils-2_28-mint branch. It is just perfect to see diffs between commits, etc. I plan to update the cross-tools binaries with these new binutils 2.28 very soon.

mikrosk commented 7 years ago

@vinriviere great news, thanks!