summary refs log tree commit diff
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
parentacbaad31e8ea10fce8b9c0aef58afb388bf7489d (diff)
downloadglibc-6b0978c14acc2a6b5f5dbd8e8ef75fddc6656483.tar.gz
glibc-6b0978c14acc2a6b5f5dbd8e8ef75fddc6656483.tar.xz
glibc-6b0978c14acc2a6b5f5dbd8e8ef75fddc6656483.zip
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").
-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 0000000000..f88bb5689d
--- /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 0000000000..9ae8b8615c
--- /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