Browse Source

Some more Blackfin/FDPIC ldso merging work. Include dl-inlines.h when it
exists, and move some definitions to their proper place.

Bernd Schmidt 17 years ago
parent
commit
6c05ed96f6
3 changed files with 17 additions and 11 deletions
  1. 4 0
      ldso/include/ldso.h
  2. 0 11
      ldso/ldso/bfin/dl-startup.h
  3. 13 0
      ldso/ldso/bfin/dl-sysdep.h

+ 4 - 0
ldso/include/ldso.h

@@ -117,4 +117,8 @@ extern void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load
 		ElfW(auxv_t) auxvt[AT_EGID + 1], char **envp, char **argv
 		ElfW(auxv_t) auxvt[AT_EGID + 1], char **envp, char **argv
 		DL_GET_READY_TO_RUN_EXTRA_PARMS);
 		DL_GET_READY_TO_RUN_EXTRA_PARMS);
 
 
+#ifdef HAVE_DL_INLINES_H
+#include <dl-inlines.h>
+#endif
+
 #endif /* _LDSO_H_ */
 #endif /* _LDSO_H_ */

+ 0 - 11
ldso/ldso/bfin/dl-startup.h

@@ -105,17 +105,6 @@ struct elf32_fdpic_loadmap;
  */
  */
 #define GET_ARGV(ARGVP, ARGS) ARGVP = (((unsigned long*) ARGS) + 1)
 #define GET_ARGV(ARGVP, ARGS) ARGVP = (((unsigned long*) ARGS) + 1)
 
 
-/*
- * Compute the GOT address.  On several platforms, we use assembly
- * here.  on FR-V FDPIC, there's no way to compute the GOT address,
- * since the offset between text and data is not fixed, so we arrange
- * for the assembly _dl_boot to pass this value as an argument to
- * _dl_boot.  */
-#define DL_BOOT_COMPUTE_GOT(got) ((got) = dl_boot_got_pointer)
-
-#define DL_BOOT_COMPUTE_DYN(dpnt, got, load_addr) \
-  ((dpnt) = dl_boot_ldso_dyn_pointer)
-
 /*
 /*
  * Here is a macro to perform a relocation.  This is only used when
  * Here is a macro to perform a relocation.  This is only used when
  * bootstrapping the dynamic loader.  RELP is the relocation that we
  * bootstrapping the dynamic loader.  RELP is the relocation that we

+ 13 - 0
ldso/ldso/bfin/dl-sysdep.h

@@ -34,6 +34,8 @@ USA.  */
 
 
 #define DL_NO_COPY_RELOCS
 #define DL_NO_COPY_RELOCS
 
 
+#define HAVE_DL_INLINES_H
+
 /*
 /*
  * Initialization sequence for a GOT.  Copy the resolver function
  * Initialization sequence for a GOT.  Copy the resolver function
  * descriptor and the pointer to the elf_resolve/link_map data
  * descriptor and the pointer to the elf_resolve/link_map data
@@ -136,6 +138,17 @@ struct funcdesc_ht;
 #define DL_ADDR_IN_LOADADDR(ADDR, TPNT, TFROM) \
 #define DL_ADDR_IN_LOADADDR(ADDR, TPNT, TFROM) \
   (! (TFROM) && __dl_addr_in_loadaddr ((void*)(ADDR), (TPNT)->loadaddr))
   (! (TFROM) && __dl_addr_in_loadaddr ((void*)(ADDR), (TPNT)->loadaddr))
 
 
+/*
+ * Compute the GOT address.  On several platforms, we use assembly
+ * here.  on FR-V FDPIC, there's no way to compute the GOT address,
+ * since the offset between text and data is not fixed, so we arrange
+ * for the assembly _dl_boot to pass this value as an argument to
+ * _dl_boot.  */
+#define DL_BOOT_COMPUTE_GOT(got) ((got) = dl_boot_got_pointer)
+
+#define DL_BOOT_COMPUTE_DYN(dpnt, got, load_addr) \
+  ((dpnt) = dl_boot_ldso_dyn_pointer)
+
 /* We only support loading FDPIC independently-relocatable shared
 /* We only support loading FDPIC independently-relocatable shared
    libraries.  It probably wouldn't be too hard to support loading
    libraries.  It probably wouldn't be too hard to support loading
    shared libraries that require relocation by the same amount, but we
    shared libraries that require relocation by the same amount, but we