This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Document and fix --enable-bind-now [BZ #21015]
- From: Carlos O'Donell <carlos at redhat dot com>
- To: Florian Weimer <fweimer at redhat dot com>, libc-alpha at sourceware dot org
- Date: Wed, 1 Mar 2017 13:58:53 -0500
- Subject: Re: [PATCH] Document and fix --enable-bind-now [BZ #21015]
- Authentication-results: sourceware.org; auth=none
- References: <20170102184606.D2AC343994307@oldenburg.str.redhat.com> <07bf9558-2d72-d0da-62bb-c39da2ca6814@redhat.com> <39a117ae-9591-1457-7637-e603b6c2b090@redhat.com> <3bb4b47f-250c-7362-7240-2e2bce79ecf4@redhat.com> <d3f0861c-d649-1edc-68fb-4d61ec14b3cf@redhat.com>
On 03/01/2017 11:52 AM, Florian Weimer wrote:
> On 03/01/2017 05:47 PM, Carlos O'Donell wrote:
>> On 02/28/2017 10:04 AM, Florian Weimer wrote:
>>> On 01/04/2017 06:52 PM, Florian Weimer wrote:
>>>> On 01/02/2017 07:46 PM, Florian Weimer wrote:
>>>>> 2017-01-02 Florian Weimer <fweimer@redhat.com>
>>>>>
>>>>> [BZ #21015]
>>>>> * manual/install.texi (Configuring and compiling): Document
>>>>> --enable-bind-now.
>>>>> * Makeconfig [bind-now] (LDFLAGS-lib.so): Set.
>>>>> (build-shlib-helper): Use $(LDFLAGS-lib.so).
>>>>> (format.lds): Likewise.
>>>>> [bind-now] (LDFLAGS-c.so): Remove.
>>>>> * sysdeps/x86_64/localplt.data (libm.so): matherr relocation can
>>>>> be R_X86_64_GLOB_DAT.
>>>>> * sysdeps/unix/sysv/linux/i386/localplt.data (libm.so): matherr
>>>>> relocation can be R_386_GLOB_DAT.
>>>>> * sysdeps/unix/sysv/linux/alpha/localplt.data (libm.so): matherr
>>>>> relocaiton can be R_ALPHA_GLOB_DAT.
>>>>
>>>> The patch is incomplete because it does not cover gconv modules, which
>>>> are compiled as, well, modules (just like the test DSOs in elf/).
>>>>
>>>> This patch on top fixes that omission (hopefully it's not garbled too
>>>> much):
>>>>
>>>> diff --git a/iconvdata/Makefile b/iconvdata/Makefile
>>>> index 04157b2..eb744da 100644
>>>> --- a/iconvdata/Makefile
>>>> +++ b/iconvdata/Makefile
>>>> @@ -63,6 +63,10 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3
>>>> ISO8859-4 ISO8859-5 \
>>>> MAC-CENTRALEUROPE KOI8-RU ISO8859-9E \
>>>> CP770 CP771 CP772 CP773 CP774
>>>>
>>>> +ifeq ($(bind-now),yes)
>>>> +LDFLAGS.so += -Wl,-z,now
>>>> +endif
>>>> +
>>>> modules.so := $(addsuffix .so, $(modules))
>>>>
>>>> ifeq (yes,$(build-shared))
>>>>
>>>> But I wonder if it's the right approach. I don't think it's worth
>>>> adding another kind of module just for this feature.
>>
>> I don't follow your question here, could you expand what you mean by
>> "another kind of module?"
>
> Another way of compiling a shared object (“module”). Overriding
> LDFLAGS.so this way avoids defining another category which is neither
> an installed library, nor a DSO used by tests.
Thanks, I understand now. Yes, your approach is practical. We can revisit
it in the future without much problem.
--
Cheers,
Carlos.