v850 ld failure for v850-rtems on master

Joel Sherrill joel.sherrill@oarcorp.com
Mon Mar 21 18:17:00 GMT 2016



On 3/21/2016 12:52 PM, Nick Clifton wrote:
> Hi Joel,
>
>> v850-rtems4.12-gcc -B../../../../../v850e1sim/lib/ -specs bsp_specs -qrtems -DHAVE_CONFIG_H -I. -I../../../../../../../rtems/c/src/../../testsuites/samples/hello -I..     -mv850e1 -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT init.o -MD -MP -MF .deps/init.Tpo -c -o init.o ../../../../../../../rtems/c/src/../../testsuites/samples/hello/init.c
>> mv -f .deps/init.Tpo .deps/init.Po
>> v850-rtems4.12-gcc -B../../../../../v850e1sim/lib/ -specs bsp_specs -qrtems -mv850e1 -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs  -Wl,--gc-sections  -mv850e1   -o hello.exe init.o
>> /data/home/joel/test-gcc/install-head/bin/../lib/gcc/v850-rtems4.12/6.0.0/../../../../v850-rtems4.12/bin/ld: cannot represent machine `v850-rh850'
>
>> Any ideas what might have broken?
>
> I cannot reproduce this, but I do not have an RTEMS system (or an RTEMS sysroot)
> so that is not surprising.

RTEMS is always cross built so it is like CPU-elf from a tools
building perspective. Basic one-tree style build.

But this failure required getting far enough to build RTEMS
and a BSP. Each BSP has its own linker script and you pointed
me at the problem below.

> I suspect that it might have something to do with
> this patch:
>
>    2016-03-09  Pedro Alves  <palves@redhat.com>
>
> 	* cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
> 	gcc ABI)" to printable name.
> 	* cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
> 	of "v850-rh850" as printable name.
>
> Which is from:
>
> https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=4b05e0a74b3fb21b56e821423b8a334e4be9cfe7

Thanks. We have our own linker scripts and that change appears to be the
breakage. This is the short version of what I had to change on our side.

-OUTPUT_ARCH(v850-rh850)
+OUTPUT_ARCH(v850:rh850)

Good reason to periodically check against master and report. :)

Thanks.

--joel

> Cheers
>    Nick
>



More information about the Binutils mailing list