This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


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

PATCH: Remove __GI_* from libc.a


On Tue, Aug 25, 2009 at 1:15 PM, Ulrich Drepper<drepper@redhat.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> H.J. Lu wrote:
>> In libc.a, before __libc_csu_init, we can't call any IFUNC functions.
>> This patch adds <direct-symbols.h> and include it in files where IFUNC
>> functions are called before __libc_csu_init. The __GI__ version of those
>> functions will be called instead.
>
> This adds lots of ugly code and sources for possible problems. ?And for
> what? ?For static linking which shouldn't be used in the first place. ?I
> reluctantly accepted adding any IFUNC support for static linking so that
> 3rd party code can use it. ?But inside libc I really don't want it. ?The
> code is complex enough.
>

That is fine with me. Here is a follow-up patch to remove __GI_* from
libc.a.

Thanks.

-- 
H.J.
---
2009-08-28  H.J. Lu  <hongjiu.lu@intel.com>

	* sysdeps/i386/i686/strtok_r.S (__GI___strtok_r): Define only if
	SHARED is defined.
	* sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c (__GI___fxstatat64):
	Likewise.
	* sysdeps/x86_64/strtok_r.S (__GI___strtok_r): Likewise.

	* sysdeps/i386/i686/multiarch/strcspn.S (libc_hidden_builtin_def):
	Redefine only if SHARED is defined.
	* sysdeps/i386/i686/multiarch/strspn.S (libc_hidden_builtin_def):
	Likewise.
	* sysdeps/x86_64/multiarch/rawmemchr.S (libc_hidden_builtin_def):
	Likewise.
	* sysdeps/x86_64/multiarch/strcmp.S (libc_hidden_builtin_def):
	Likewise.
	* sysdeps/x86_64/multiarch/strcpy.S (libc_hidden_builtin_def):
	Likewise.
	(libc_hidden_def): Likewise.
	* sysdeps/x86_64/multiarch/strcspn.S (libc_hidden_builtin_def):
	Likewise.
	* sysdeps/x86_64/multiarch/strspn.S (libc_hidden_builtin_def):
	Likewise.

	* sysdeps/unix/Makefile (stub-syscalls.c): Define __GI_$$call
	only if SHARED is defined.

Attachment: libc-shared-1.patch
Description: Text document


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