about summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2017-08-14 11:44:24 +0200
committerFlorian Weimer <fweimer@redhat.com>2017-08-14 15:08:48 +0200
commit9fa7449b35244645acaa450046b37678f46fe0f1 (patch)
tree83a87696a1e4ae4fad80f9167bb25e02c91dfe53 /elf
parent73322d5ff6ad71c65f875095c4801771cff9ab2d (diff)
downloadglibc-9fa7449b35244645acaa450046b37678f46fe0f1.tar.gz
glibc-9fa7449b35244645acaa450046b37678f46fe0f1.tar.xz
glibc-9fa7449b35244645acaa450046b37678f46fe0f1.zip
_dl_fini: Remove internal_function attribute
Assembler code passes the address of _dl_fini to __libc_start_main,
whose function pointer argument lacks the attribute.  This means
that calls could use the wrong ABI.  Fortunately, for zero-parameter
void-returning functions, internal_function does not change ABI
on i386 (the only architecture which uses internal_function), so
this inconsistency was harmless (which is why it had not been
noticed so far).
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-fini.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/elf/dl-fini.c b/elf/dl-fini.c
index 93b337bea1..d6201b2c81 100644
--- a/elf/dl-fini.c
+++ b/elf/dl-fini.c
@@ -125,7 +125,6 @@ _dl_sort_fini (struct link_map **maps, size_t nmaps, char *used, Lmid_t ns)
 
 
 void
-internal_function
 _dl_fini (void)
 {
   /* Lots of fun ahead.  We have to call the destructors for all still