aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2022-01-07 14:47:31 +0100
committerFlorian Weimer <fweimer@redhat.com>2022-01-07 14:47:31 +0100
commit6b0978c14acc2a6b5f5dbd8e8ef75fddc6656483 (patch)
treee4e2c5132e3542046dd3e7b9f496a21e0bf1b6f4 /sysdeps
parentacbaad31e8ea10fce8b9c0aef58afb388bf7489d (diff)
downloadglibc-6b0978c14acc2a6b5f5dbd8e8ef75fddc6656483.zip
glibc-6b0978c14acc2a6b5f5dbd8e8ef75fddc6656483.tar.gz
glibc-6b0978c14acc2a6b5f5dbd8e8ef75fddc6656483.tar.bz2
Restore ENTRY_POINT definition on hppa, ia64 (bug 28749)
ENTRY_POINT is still needed for elf/rtld.c. Fixes commit 4fb4e7e821e3 ("csu: Always use __executable_start in gmon-start.c").
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/hppa/entry.h8
-rw-r--r--sysdeps/ia64/entry.h8
2 files changed, 16 insertions, 0 deletions
diff --git a/sysdeps/hppa/entry.h b/sysdeps/hppa/entry.h
new file mode 100644
index 0000000..f88bb56
--- /dev/null
+++ b/sysdeps/hppa/entry.h
@@ -0,0 +1,8 @@
+extern void _start (void);
+
+/* Lives in libgcc.so and canonicalizes function pointers for comparison. */
+extern unsigned int __canonicalize_funcptr_for_compare (unsigned int fptr);
+
+/* The function's entry point is stored in the first word of the
+ function descriptor (plabel) of _start(). */
+#define ENTRY_POINT __canonicalize_funcptr_for_compare((unsigned int)_start)
diff --git a/sysdeps/ia64/entry.h b/sysdeps/ia64/entry.h
new file mode 100644
index 0000000..9ae8b86
--- /dev/null
+++ b/sysdeps/ia64/entry.h
@@ -0,0 +1,8 @@
+#include <link.h>
+#include <dl-fptr.h>
+
+extern void _start (void);
+
+/* The function's entry point is stored in the first word of the
+ function descriptor (plabel) of _start(). */
+#define ENTRY_POINT ELF_PTR_TO_FDESC (_start)->ip