This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] HPPA/IA64 : Don't use broken DL_AUTO_FUNCTION_ADDRESS()
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: Guy Martin <gmsoft at tuxicoman dot be>, Andreas Schwab <schwab at suse dot de>
- Cc: Mike Frysinger <vapier at gentoo dot org>, libc-alpha at sourceware dot org
- Date: Mon, 18 Nov 2013 12:44:00 -0500
- Subject: Re: [PATCH] HPPA/IA64 : Don't use broken DL_AUTO_FUNCTION_ADDRESS()
- Authentication-results: sourceware.org; auth=none
- References: <20131017214754 dot 00555bf3 at dellete> <871u3ina5t dot fsf at igel dot home> <b42704e5527fa00f6e69cacd0d62c19d at tuxicoman dot be> <201310190206 dot 07506 dot vapier at gentoo dot org> <52631FA0 dot 5090403 at redhat dot com> <78728c2956beea68522df0d0e5f8d649 at tuxicoman dot be> <80a141633592ef9ba33d3217af3e9cef at tuxicoman dot be> <mvmy559wode dot fsf at hawking dot suse dot de> <bc4d5a1387269aaa45585cd4c706e456 at tuxicoman dot be> <mvmvc04ty55 dot fsf at hawking dot suse dot de> <f01065eda49089e9180eb6411aeed4a4 at tuxicoman dot be>
On 11/07/2013 08:53 AM, Guy Martin wrote:
> On 2013-11-07 09:27, Andreas Schwab wrote:
>>
>> DL_CALL_DT_FINI whould be a more logical name.
>>
>>> + /* Set bit 30 to indicate to $$dyncall that this is a PLABEL. */ \
>>> + addr = (ElfW(Addr))((unsigned int)fptr | 2); \
>>
>> That can't be correct.
>
>
> Thanks for reviewing, I've attached an update.
> Tested on amd64 and hppa.
>
> Regards,
> Guy
>
> glibc-fix-DL_AUTO_FUNCTION_ADDRESS-v3.patch
>
>
> Main ChangeLog :
>
> 2013-11-07 Guy Martin <gmsoft@tuxicoman.be>
>
> * sysdeps/generic/ldsodefs.h: Replace DL_DT_INIT_ADDRESS() and
> DL_DT_FINI_ADDRESS() macro with DL_CALL_DT_INIT() and
> DL_CALL_DT_FINI() that call the functions directly.
> * elf/dl-init.c: Use the new DL_CALL_DT_INIT() macro.
> * elf/dl-close.c: Use the new DL_CALL_DT_FINI() macro.
> * elf/dl-fini.c: Likewise.
>
> Ports ChangeLog :
>
> 2013-11-07 Guy Martin <gmsoft@tuxicoman.be>
>
> * sysdeps/hppa/dl-lookupcfg.h: Remove obsolete
> DL_DT_INIT_ADDRESS() and DL_DT_FINI_ADDRESS() macro and implement
> DL_CALL_DT_INIT() as well as DL_CALL_DT_FINI().
> Define DL_DT_FUNCTION_ADDRESS().
> * sysdeps/ia64/dl-lookupcfg.h: Likewise.
> * sysdeps/hppa/dl-machine.h: Update ELF_MACHINE_START_ADDRESS()
> to use DL_DT_FUNCTION_ADDRESS().
> * sysdeps/ia64/dl-machine.h: Likewise.
This looks good to me and makes everything cleaner.
Can you check this in yourself or do you need someone to check it in for you?
Cheers,
Carlos.