Message ID | 1495654883-24546-1-git-send-email-tuliom@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
On Wed, 24 May 2017, Tulio Magno Quites Machado Filho wrote: > Add __libc_getauxval as an internal libc symbol allowing internal libc > calls to bypass the PLT. Why add this alias instead of simply doing libc_hidden_proto (__getauxval) / libc_hidden_def (__getauxval)?
Joseph Myers <joseph@codesourcery.com> writes: > On Wed, 24 May 2017, Tulio Magno Quites Machado Filho wrote: > >> Add __libc_getauxval as an internal libc symbol allowing internal libc >> calls to bypass the PLT. > > Why add this alias instead of simply doing libc_hidden_proto (__getauxval) > / libc_hidden_def (__getauxval)? Because I made a wrong assumption about those macros. I'll fix my patch and re-submit. Thanks!
diff --git a/include/sys/auxv.h b/include/sys/auxv.h index dede2c3..7b6ad3b 100644 --- a/include/sys/auxv.h +++ b/include/sys/auxv.h @@ -1 +1,3 @@ #include <misc/sys/auxv.h> + +extern __typeof (getauxval) __libc_getauxval; diff --git a/misc/getauxval.c b/misc/getauxval.c index c83fbce..ff3e0ba 100644 --- a/misc/getauxval.c +++ b/misc/getauxval.c @@ -21,7 +21,8 @@ unsigned long int -__getauxval (unsigned long int type) +attribute_hidden +__libc_getauxval (unsigned long int type) { #ifdef HAVE_AUX_VECTOR ElfW(auxv_t) *p; @@ -42,4 +43,5 @@ __getauxval (unsigned long int type) return 0; } -weak_alias (__getauxval, getauxval) +weak_alias (__libc_getauxval, getauxval) +strong_alias (__libc_getauxval, __getauxval)