summaryrefslogtreecommitdiff
path: root/sysdeps/mach/sysdep.h
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-06-12 18:26:02 +0000
committerRoland McGrath <roland@gnu.org>1995-06-12 18:26:02 +0000
commit1a2df358c8b1bc40035e30fe12cc4187655dd326 (patch)
tree869f1b729d6f742584e6319e39c40ab7894d78b5 /sysdeps/mach/sysdep.h
parentf2b0f935d7c8de544408181350c13d8a4db690ca (diff)
Mon Jun 12 13:15:45 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makerules (lib%.so: lib%_pic.a): Moved this rule to after installation rules. * sysdeps/mach/sysdep.h [HAVE_ELF] (ENTRY): Redefine this macro so it uses the `.type' directive, which is necessary for shared libraries to work properly.
Diffstat (limited to 'sysdeps/mach/sysdep.h')
-rw-r--r--sysdeps/mach/sysdep.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/sysdeps/mach/sysdep.h b/sysdeps/mach/sysdep.h
index 9a8dbd5163..d5d370efd0 100644
--- a/sysdeps/mach/sysdep.h
+++ b/sysdeps/mach/sysdep.h
@@ -28,6 +28,17 @@ Cambridge, MA 02139, USA. */
#define EXT(x) C_SYMBOL_NAME(x)
#define LEXT(x) C_SYMBOL_NAME(x##:)
+#ifdef HAVE_ELF
+/* For ELF we need to add the `.type' directive to make shared libraries
+ work right. */
+#undef ENTRY
+#define ENTRY(name) \
+ ASM_GLOBAL_DIRECTIVE name; \
+ .align ALIGN; \
+ .type name,@function; \
+ name:
+#endif
+
#endif
/* This is invoked by things run when there is random lossage, before they