This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]