Re: STT_GNU_IFUNC and R_ARM_IRELATIVE

2010-11-18 Thread Matthew Gretton-Dann
Richard,

On Wed, 2010-11-17 at 17:12 +, Richard Sandiford wrote:
> The STT_GNU_IFUNC blueprint:
> 
>   https://wiki.linaro.org/WorkingGroups/ToolChain/Specs/Binutils-STT_GNU_IFUNC
> 
> says "the ARM EABI will be updated to support STT_GNU_IFUNC's requirements".
> I suppose the most obvious thing that needs to be defined is the relocation
> number for R_ARM_IRELATIVE.  What's the best way of handling that?
> The main options seem to be:
> 
>1. Reserve a relocation number with ARM first (129?).
> 
>2. Go ahead and implement it without having the EABI updated.
>   See whether the results are good before deciding whether
>   to bless it in the EABI.
> 
>3. Since STT_GNU_IFUNC is a GNU-specific, treat R_ARM_IRELATIVE
>   as GNU-specific too, and pinch one of the R_ARM_PRIVATE relocs.
> 
> I'm pretty sure (3)'s not the way to go, but I was aiming for
> completeness. :-)

The correct thing to do is to email arm.e...@arm.com with a request for
some numbers to be allocated to the relocations you require.

You email should contain:
 * The number of relocations desired;
 * Suggested names for the relocations;
 * Relocation types (static or dynamic);
 * A description of the intended use/behaviour of the relocations.

You will then be allocated the numbers.

However, if you need to start developing before numbers are assigned in
the ABI you should use relocations in the private space:
R_ARM_PRIVATE_ (number = 112+n, n=0...15).  

These private relocations are guaranteed not to be assigned for other
uses, and no released tool should be using them, so they are suitable
for development purposes.  However, by the time you come to release
anything you need to use the numbers assigned by the ABI.

Thanks,

Matt

-- 
Matthew Gretton-Dann
Principal Engineer - PDSW Tools
ARM Ltd


___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


[ACTIVITY] November 14-18

2010-11-18 Thread Ira Rosen
Hi,

This week I continued looking into vld/vst support in GCC.
I also fixed GCC PR 46312 - testsuite failures on ARM.

Ira
___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


gcc seg fault on kernel build

2010-11-18 Thread Rob Herring

Doing an allmodconfig build on the kernel, I get the following:

  CC  arch/arm/kernel/asm-offsets.s
In file included from 
/home/rob/proj/git/linux-2.6-dt/include/linux/kernel.h:12,
 from 
/home/rob/proj/git/linux-2.6-dt/include/linux/sched.h:54,
 from 
/home/rob/proj/git/linux-2.6-dt/arch/arm/kernel/asm-offsets.c:13:
/usr/lib/gcc/arm-linux-gnueabi/4.4.5/include/stdarg.h:40: internal 
compiler error: Segmentation fault


It occurs on Maverick 4.4, 4.5 and CodeSourcery 2009Q1 cross toolchains. 
It's confirmed by Codesourcery here:


http://www.codesourcery.com/archives/arm-gnu/msg03719.html

What's the status on this issue? I didn't see anything in Linaro gcc 
bugs that looks related.


Rob

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: gcc seg fault on kernel build

2010-11-18 Thread Michael Hope
On Fri, Nov 19, 2010 at 6:26 AM, Rob Herring  wrote:
> Doing an allmodconfig build on the kernel, I get the following:
>
>  CC      arch/arm/kernel/asm-offsets.s
> In file included from
> /home/rob/proj/git/linux-2.6-dt/include/linux/kernel.h:12,
>                 from
> /home/rob/proj/git/linux-2.6-dt/include/linux/sched.h:54,
>                 from
> /home/rob/proj/git/linux-2.6-dt/arch/arm/kernel/asm-offsets.c:13:
> /usr/lib/gcc/arm-linux-gnueabi/4.4.5/include/stdarg.h:40: internal compiler
> error: Segmentation fault
>
> It occurs on Maverick 4.4, 4.5 and CodeSourcery 2009Q1 cross toolchains.
> It's confirmed by Codesourcery here:
>
> http://www.codesourcery.com/archives/arm-gnu/msg03719.html
>
> What's the status on this issue? I didn't see anything in Linaro gcc bugs
> that looks related.

Hi Rob.  This is LP: #623945 'ICE using va_list with -g
-femit-struct-debug-baseonly' which was fixed in the recently released
Linaro GCC 4.5-2010.11. See:
 https://bugs.launchpad.net/gcc-linaro/+bug/623945
for more information.  Note that Linaro GCC 4.4 is in maintenance and
doesn't include the fix.

Out of interest, where do you pick up the binary build of your
toolchain from?  Self built?  From Ubuntu?  Some other way?  I'm
wondering about the best way you can pick up this fix.

-- Michael

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: gcc seg fault on kernel build

2010-11-18 Thread Michael Hope
On Fri, Nov 19, 2010 at 10:26 AM, Rob Herring  wrote:
> Michael,
>
> On 11/18/2010 03:08 PM, Michael Hope wrote:
>>
>> On Fri, Nov 19, 2010 at 6:26 AM, Rob Herring
>>  wrote:
>>>
>>> Doing an allmodconfig build on the kernel, I get the following:
>>>
>>>  CC      arch/arm/kernel/asm-offsets.s
>>> In file included from
>>> /home/rob/proj/git/linux-2.6-dt/include/linux/kernel.h:12,
>>>                 from
>>> /home/rob/proj/git/linux-2.6-dt/include/linux/sched.h:54,
>>>                 from
>>> /home/rob/proj/git/linux-2.6-dt/arch/arm/kernel/asm-offsets.c:13:
>>> /usr/lib/gcc/arm-linux-gnueabi/4.4.5/include/stdarg.h:40: internal
>>> compiler
>>> error: Segmentation fault
>>>
>>> It occurs on Maverick 4.4, 4.5 and CodeSourcery 2009Q1 cross toolchains.
>>> It's confirmed by Codesourcery here:
>>>
>>> http://www.codesourcery.com/archives/arm-gnu/msg03719.html
>>>
>>> What's the status on this issue? I didn't see anything in Linaro gcc bugs
>>> that looks related.
>>
>> Hi Rob.  This is LP: #623945 'ICE using va_list with -g
>> -femit-struct-debug-baseonly' which was fixed in the recently released
>> Linaro GCC 4.5-2010.11. See:
>>  https://bugs.launchpad.net/gcc-linaro/+bug/623945
>> for more information.  Note that Linaro GCC 4.4 is in maintenance and
>> doesn't include the fix.
>>
>> Out of interest, where do you pick up the binary build of your
>> toolchain from?  Self built?  From Ubuntu?  Some other way?  I'm
>> wondering about the best way you can pick up this fix.
>
> It is from ubuntu maverick. This was my next question. As Linaro 4.5
> releases continue, does ubuntu pick them up as updates for maverick?

I'm not certain, but I don't think so.  The Linaro changes are being
picked up as we go along in Ubuntu Natty, but released versions are
another story.

Marcin is working on binary packages, including backports to the
Ubuntu Lucid and Maverick.  You can follow his progress here:
 https://blueprints.launchpad.net/ubuntu/+spec/other-linaro-n-cross-compilers

> Just knowing the work-around is good enough for me on this particular issue.
> Turning off CONFIG_DEBUG_INFO_REDUCED in the kernel turns off this option.

Good to know you have a work-around.

-- Michael

___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: gcc seg fault on kernel build

2010-11-18 Thread Rob Herring

Michael,

On 11/18/2010 03:08 PM, Michael Hope wrote:

On Fri, Nov 19, 2010 at 6:26 AM, Rob Herring  wrote:

Doing an allmodconfig build on the kernel, I get the following:

  CC  arch/arm/kernel/asm-offsets.s
In file included from
/home/rob/proj/git/linux-2.6-dt/include/linux/kernel.h:12,
 from
/home/rob/proj/git/linux-2.6-dt/include/linux/sched.h:54,
 from
/home/rob/proj/git/linux-2.6-dt/arch/arm/kernel/asm-offsets.c:13:
/usr/lib/gcc/arm-linux-gnueabi/4.4.5/include/stdarg.h:40: internal compiler
error: Segmentation fault

It occurs on Maverick 4.4, 4.5 and CodeSourcery 2009Q1 cross toolchains.
It's confirmed by Codesourcery here:

http://www.codesourcery.com/archives/arm-gnu/msg03719.html

What's the status on this issue? I didn't see anything in Linaro gcc bugs
that looks related.


Hi Rob.  This is LP: #623945 'ICE using va_list with -g
-femit-struct-debug-baseonly' which was fixed in the recently released
Linaro GCC 4.5-2010.11. See:
  https://bugs.launchpad.net/gcc-linaro/+bug/623945
for more information.  Note that Linaro GCC 4.4 is in maintenance and
doesn't include the fix.

Out of interest, where do you pick up the binary build of your
toolchain from?  Self built?  From Ubuntu?  Some other way?  I'm
wondering about the best way you can pick up this fix.


It is from ubuntu maverick. This was my next question. As Linaro 4.5 
releases continue, does ubuntu pick them up as updates for maverick?


Just knowing the work-around is good enough for me on this particular 
issue. Turning off CONFIG_DEBUG_INFO_REDUCED in the kernel turns off 
this option.


Rob


___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain