public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* 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).