* v850 ld failure for v850-rtems on master
@ 2016-03-20 14:53 Joel Sherrill
2016-03-21 17:53 ` Nick Clifton
0 siblings, 1 reply; 8+ messages in thread
From: Joel Sherrill @ 2016-03-20 14:53 UTC (permalink / raw)
To: binutils
Hi
I was testing the binutils master and got a new failure.
FAILS: GNU ld (GNU Binutils) 2.26.51.20160318
WORKS: GNU ld (GNU Binutils) 2.26.20160125
This is with the gcc master.
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'
collect2: error: ld returned 1 exit status
gmake[6]: *** [hello.exe] Error 1
Any ideas what might have broken?
Thanks.
--joel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: v850 ld failure for v850-rtems on master
2016-03-20 14:53 v850 ld failure for v850-rtems on master Joel Sherrill
@ 2016-03-21 17:53 ` Nick Clifton
2016-03-21 18:17 ` Joel Sherrill
0 siblings, 1 reply; 8+ messages in thread
From: Nick Clifton @ 2016-03-21 17:53 UTC (permalink / raw)
To: Joel Sherrill, binutils
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. 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
Cheers
Nick
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: v850 ld failure for v850-rtems on master
2016-03-21 17:53 ` Nick Clifton
@ 2016-03-21 18:17 ` Joel Sherrill
2016-03-21 18:52 ` Joel Sherrill
0 siblings, 1 reply; 8+ messages in thread
From: Joel Sherrill @ 2016-03-21 18:17 UTC (permalink / raw)
To: Nick Clifton, binutils
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
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: v850 ld failure for v850-rtems on master
2016-03-21 18:17 ` Joel Sherrill
@ 2016-03-21 18:52 ` Joel Sherrill
2016-03-22 11:05 ` Nick Clifton
2016-03-22 11:36 ` Nick Clifton
0 siblings, 2 replies; 8+ messages in thread
From: Joel Sherrill @ 2016-03-21 18:52 UTC (permalink / raw)
To: Nick Clifton, binutils
On 3/21/2016 1:16 PM, Joel Sherrill wrote:
>
>
> 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)
Will this continue to work with binutils from before this change?
I realized this might make for a tools version hiccup for us.
> Good reason to periodically check against master and report. :)
>
> Thanks.
>
> --joel
>
>> Cheers
>> Nick
>>
^ permalink raw reply [flat|nested] 8+ messages in thread
* v850 ld failure for v850-rtems on master
2016-03-21 18:52 ` Joel Sherrill
@ 2016-03-22 11:05 ` Nick Clifton
2016-03-22 11:11 ` Pedro Alves
2016-03-22 11:36 ` Nick Clifton
1 sibling, 1 reply; 8+ messages in thread
From: Nick Clifton @ 2016-03-22 11:05 UTC (permalink / raw)
To: Pedro Alves; +Cc: Joel Sherrill, binutils
Hi Pedro,
Your recent patch to change the architecture names for the V850 has
caused a problem for people using custom V850 linker scripts:
https://sourceware.org/ml/binutils/2016-03/msg00263.html
Changing the OUTPUT_ARCH name in the script does work, but the change
is not backwards compatible. Would a patch like this, to add an extra
entry with the old architecture name, cause problems for GDB ?
diff --git a/bfd/cpu-v850_rh850.c b/bfd/cpu-v850_rh850.c
index e86749b..5639e91 100644
--- a/bfd/cpu-v850_rh850.c
+++ b/bfd/cpu-v850_rh850.c
@@ -34,7 +34,8 @@ static const bfd_arch_info_type arch_info_struct[] =
R (bfd_mach_v850e2v3, "v850e2v3", FALSE, & arch_info_struct[3]),
R (bfd_mach_v850e2, "v850e2", FALSE, & arch_info_struct[4]),
R (bfd_mach_v850e1, "v850e1", FALSE, & arch_info_struct[5]),
- R (bfd_mach_v850e, "v850e", FALSE, NULL)
+ R (bfd_mach_v850e, "v850e", FALSE, & arch_info_struct[6]),
+ R (bfd_mach_v850, "v850-rh850", FALSE, NULL) /* For backwards compatibility. */
};
const bfd_arch_info_type bfd_v850_rh850_arch =
Your original posting talked about spaces in the architecture name
causing problems, but this patch does not reintroduce any spaces, so
maybe it will work ?
Cheers
Nick
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: v850 ld failure for v850-rtems on master
2016-03-22 11:05 ` Nick Clifton
@ 2016-03-22 11:11 ` Pedro Alves
0 siblings, 0 replies; 8+ messages in thread
From: Pedro Alves @ 2016-03-22 11:11 UTC (permalink / raw)
To: Nick Clifton; +Cc: Joel Sherrill, binutils
On 03/22/2016 11:05 AM, Nick Clifton wrote:
> Hi Pedro,
>
> Your recent patch to change the architecture names for the V850 has
> caused a problem for people using custom V850 linker scripts:
>
> https://sourceware.org/ml/binutils/2016-03/msg00263.html
Sorry about that.
>
> Changing the OUTPUT_ARCH name in the script does work, but the change
> is not backwards compatible. Would a patch like this, to add an extra
> entry with the old architecture name, cause problems for GDB ?
>
> diff --git a/bfd/cpu-v850_rh850.c b/bfd/cpu-v850_rh850.c
> index e86749b..5639e91 100644
> --- a/bfd/cpu-v850_rh850.c
> +++ b/bfd/cpu-v850_rh850.c
> @@ -34,7 +34,8 @@ static const bfd_arch_info_type arch_info_struct[] =
> R (bfd_mach_v850e2v3, "v850e2v3", FALSE, & arch_info_struct[3]),
> R (bfd_mach_v850e2, "v850e2", FALSE, & arch_info_struct[4]),
> R (bfd_mach_v850e1, "v850e1", FALSE, & arch_info_struct[5]),
> - R (bfd_mach_v850e, "v850e", FALSE, NULL)
> + R (bfd_mach_v850e, "v850e", FALSE, & arch_info_struct[6]),
> + R (bfd_mach_v850, "v850-rh850", FALSE, NULL) /* For backwards compatibility. */
> };
>
> const bfd_arch_info_type bfd_v850_rh850_arch =
>
>
> Your original posting talked about spaces in the architecture name
> causing problems, but this patch does not reintroduce any spaces, so
> maybe it will work ?
Yes, as long as there are no spaces, it won't cause problems for gdb.
Thanks,
Pedro Alves
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: v850 ld failure for v850-rtems on master
2016-03-21 18:52 ` Joel Sherrill
2016-03-22 11:05 ` Nick Clifton
@ 2016-03-22 11:36 ` Nick Clifton
2016-03-22 14:37 ` Joel Sherrill
1 sibling, 1 reply; 8+ messages in thread
From: Nick Clifton @ 2016-03-22 11:36 UTC (permalink / raw)
To: Joel Sherrill, binutils
Hi Joel,
>> -OUTPUT_ARCH(v850-rh850)
>> +OUTPUT_ARCH(v850:rh850)
This should no longer be necessary because...
> Will this continue to work with binutils from before this change?
No. :-(
So I have checked in a patch to the current sources so that both the
old and new versions of the v850:rh850 architecture name are supported.
That way you should not need to change your linker scripts, and they
will work with both old and new linkers.
Cheers
Nick
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: v850 ld failure for v850-rtems on master
2016-03-22 11:36 ` Nick Clifton
@ 2016-03-22 14:37 ` Joel Sherrill
0 siblings, 0 replies; 8+ messages in thread
From: Joel Sherrill @ 2016-03-22 14:37 UTC (permalink / raw)
To: Nick Clifton, binutils
On 3/22/2016 6:36 AM, Nick Clifton wrote:
> Hi Joel,
>
>>> -OUTPUT_ARCH(v850-rh850)
>>> +OUTPUT_ARCH(v850:rh850)
>
> This should no longer be necessary because...
>
>> Will this continue to work with binutils from before this change?
>
> No. :-(
>
> So I have checked in a patch to the current sources so that both the
> old and new versions of the v850:rh850 architecture name are supported.
> That way you should not need to change your linker scripts, and they
> will work with both old and new linkers.
Thanks. I will revert our patch.
> Cheers
> Nick
>
--joel
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-03-22 14:37 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-20 14:53 v850 ld failure for v850-rtems on master Joel Sherrill
2016-03-21 17:53 ` Nick Clifton
2016-03-21 18:17 ` Joel Sherrill
2016-03-21 18:52 ` Joel Sherrill
2016-03-22 11:05 ` Nick Clifton
2016-03-22 11:11 ` Pedro Alves
2016-03-22 11:36 ` Nick Clifton
2016-03-22 14:37 ` Joel Sherrill
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).