Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Jul 2014 22:01:04 +0200
From:      Andreas Tobler <andreast-list@fgznet.ch>
To:        mexas@bris.ac.uk, freebsd-arm@freebsd.org, george+freebsd@m5p.com
Subject:   Re: [Bug 175605] devel/binutils: please fix build binutils-2.23.1 in raspberry pi
Message-ID:  <53C19400.6050404@fgznet.ch>
In-Reply-To: <201407121943.s6CJhT2p097909@mech-cluster241.men.bris.ac.uk>
References:  <201407121943.s6CJhT2p097909@mech-cluster241.men.bris.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12.07.14 21:43, Anton Shterenlikht wrote:
>>> --- Comment #6 from mexas@bris.ac.uk ---
>>> Forgot to say that this was with Andreas Tobler's patchset.
>>> Also, it segfaults with the OS default ld too:
>>>
>>> $ cat z.c
>>> #include <stdio.h>
>>> int main(int argc, char **argv)
>>> {
>>>           printf("mumu\n");
>>>           return 0;
>>> }
>>> $ cc -c z.c -Wall
>>> $ /usr/local/bin/ld -o z /usr/lib/crt1.o /usr/lib/crti.o z.o -lc
>>> $ ldd z
>>> z:
>>>           libc.so.7 => /lib/libc.so.7 (0x2003c000)
>>> $ file z
>>> z: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses
>>> shared libs), for FreBSD 10.0 (1000710), not stripped
>>> $ ./z
>>> Segmentation fault (core dumped)
>>> $ /usr/bin/ld -o z /usr/lib/crt1.o /usr/lib/crti.o z.o -lc
>>> $ ldd z
>>> z:
>>>           libc.so.7 => /lib/libc.so.7 (0x2003c000)
>>> $ file z
>>> z: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses
>>> shared libs), for FreBSD 10.0 (1000710), not stripped
>>> $ ./z
>>> Segmentation fault (core dumped)
>>> $
>>>
>> Why are you using this strange invocation of the linker?  If I run
>> "cc -v -o z z.c", here is how it invokes ld:
>>
>>   "/usr/bin/ld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1
>> --hash-style=both --enable-new-dtags -o z /usr/lib/crt1.o
>> /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/lib /tmp/z-9530c3.o -lgcc
>> --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s
>> --no-as-needed /usr/lib/crtend.o /usr/lib/crtn.o
>>
>> The resulting program runs without difficulty.          -- George
>
> well, I copied my invocation from:
> http://people.freebsd.org/~rene/patches/binutils-rpi-bug.txt
>
> but you are right. I have now did just the same
> using /usr/local/bin/ld, and the executable worked.
>
> So probably Andreas Tobler's patchset should
> be committed?
>
> I'm building lang/gcc right now, will see how it goes.

You can save the time for gcc. Nothing else than the system gcc works.
I do some work on gcc-4.10 and it is hairy.
I can bootstrap gcc-4.10 but I have some issues with tls which blocks me 
to come out with my patch set. The overall view is good. I even have C++ 
exceptions working with EABI.

Also, the binutils patch set is not satisfying for me. I do not have 
feedback for arm*b nor for arm* < FreeBSD 10.0.

And last but not least, my time slot is shrinking, summer holidays ;)

Anton, thanks for your testing and feedback.

Andreas






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53C19400.6050404>