As described in GCC PR target/15267 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15267 and analysed further in http://gcc.gnu.org/ml/gcc-patches/2004-04/msg01791.html gas 2.14.91 (and 2.14) create unaligned relocations that the native Solaris 8 linker cannot cope with. This breaks GCC bootstrap when using gas, but not gld.
Created attachment 2105 [details] patch against 2.17 I don't know how to structure the patch properly for binutils standards and portability. Atleast it show's where the issue is coming from.
Hi Andrew, Does the problem still exist with an assembler built from the current head of the binutils sources in the CVS repository ? (I suspect that it does, but I would like this confirmed and there does not seem to be a simple test case available). Thanks very much for suggesting a patch. It does look OK, but there is one problem - you only provide definitions of the TC_BEGIN_UNALIGNED and TC_END_UNALIGNED macros for the sparc target. Building for any other target will result in a compile time error for the undefined macros. Please could you supply a revised patch that corrects this ? It would also help to know how you tested the patch. Did you run the gas testsuite after building a toolchain with the patch applied ? If so, were there any regressions ? Cheers Nick
(In reply to comment #2) > Does the problem still exist with an assembler built from the current head of > the binutils sources in the CVS repository ? Actually no it doesn't, was fixed by: http://www.cygwin.com/ml/binutils/2006-11/msg00290.html
http://www.sourceware.org/ml/binutils/2006-11/msg00290.html