[PATCH 1 of 2] libc: add disable-versioning and enable-oldest-abi to (e)glibc

Bryan Hundven bryanhundven@gmail.com
Fri Nov 12 20:11:00 GMT 2010


On Wed, Nov 10, 2010 at 4:26 PM, Bryan Hundven <bryanhundven@gmail.com> wrote:
> On Wed, Nov 10, 2010 at 4:09 PM, Yann E. MORIN
> <yann.morin.1998@anciens.enib.fr> wrote:
>> Bryan, All,
>>
>> On Wednesday 10 November 2010 19:39:00 Bryan Hundven wrote:
>>> +config LIBC_DISABLE_VERSIONING
>>> +    bool
>>> +    prompt "Disable versioning information in library objects"
>>> +    default n
>>> +    help
>>> +      Do not include versioning information in the library objects.
>>
>> Could you elaborate on why one may wish to disable symbols versionning?
>
> Yes,
>
> Since the box that I am building on (Debian Lenny, x86_32) is using
> glibc-2.7, and when I build, say elfutils (which does not support
> HOST_CC) builds i386_gendis, which in turn it runs to generate
> disassembler info for libdw, it fails with:
>
> ./i386_gendis: /lib/i686/cmov/libc.so.6: version `GLIBC_2.8' not found
> (required by ./i386_gendis)
>
> One way to fix this is to append:
> -Wl,-rpath,$(HOME)/x-tools/i686-nptl-linux-gnu/i686-nptl-linux-gnu/sys-root/lib
> to i386_gendis_LDADD in elfutils-0.149/libcpu/Makefile.in (Yuck)

Actually, I was wrong. I don't need the -Wl,-rpath,blah blah
I just needed to add -static to i386_gendis_LDADD

> And the other way is to remove library version info from my
> cross-compiler's eglibc.
>
> I am currently working on a patch to add proper cross-compiler support
> to elfutils, but this is a ways off.
>
> I am sure that someone else has a better use-case for removing
> versioning information, but this is what I got so far.
>
> If someone knows of a better way to handle this kind of issue, I would
> love to hear about it.
>
>>> +config LIBC_OLDEST_ABI
>>> +    string
>>> +    prompt "Configure the oldest ABI supported [e.g. 2.2]"
>>> +    default ""
>>> +    help
>>> +      Setting this option, for example, to 2.2 will provide ABI support
>>> +      back to (e)glibc-2.2.
>>> +
>>> +      If this option is not set, (e)glibc will choose for you.
>>> +
>>
>> I've split the patch in two: one to add the symbols versioning option,
>> and the other to add the ABI selection.
>>
>> I have them pending here. Thank you!
>
> If you would like, I can resubmit them as separate patches?

I think the Oldest ABI option is worthy of crosstool-ng, but you can
skip the library versioning patch if you want.
It sounds like I don't need it anyways.

>> Regards,
>> Yann E. MORIN.
>>
>> --
>> .-----------------.--------------------.------------------.--------------------.
>> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
>> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
>> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
>> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
>> '------------------------------^-------^------------------^--------------------'
>>
>>
>>
>
> -Bryan
>

-Bryan

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list