summaryrefslogtreecommitdiff
path: root/ldso
diff options
context:
space:
mode:
authorBernd Schmidt <bernds_cb1@t-online.de>2008-01-08 23:24:30 +0000
committerBernd Schmidt <bernds_cb1@t-online.de>2008-01-08 23:24:30 +0000
commit6c05ed96f646e20a8ef104d36d260fab30486768 (patch)
tree27c6d1791e0fb5c719fef90dc4478e996528e6b2 /ldso
parent3ceb3bcb76545066bad6a85b102944136ca67632 (diff)
Some more Blackfin/FDPIC ldso merging work. Include dl-inlines.h when it
exists, and move some definitions to their proper place.
Diffstat (limited to 'ldso')
-rw-r--r--ldso/include/ldso.h4
-rw-r--r--ldso/ldso/bfin/dl-startup.h11
-rw-r--r--ldso/ldso/bfin/dl-sysdep.h13
3 files changed, 17 insertions, 11 deletions
diff --git a/ldso/include/ldso.h b/ldso/include/ldso.h
index 178af0e64..029922747 100644
--- a/ldso/include/ldso.h
+++ b/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
DL_GET_READY_TO_RUN_EXTRA_PARMS);
+#ifdef HAVE_DL_INLINES_H
+#include <dl-inlines.h>
+#endif
+
#endif /* _LDSO_H_ */
diff --git a/ldso/ldso/bfin/dl-startup.h b/ldso/ldso/bfin/dl-startup.h
index d58690dd1..5b596fd01 100644
--- a/ldso/ldso/bfin/dl-startup.h
+++ b/ldso/ldso/bfin/dl-startup.h
@@ -106,17 +106,6 @@ struct elf32_fdpic_loadmap;
#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
* bootstrapping the dynamic loader. RELP is the relocation that we
* are performing, REL is the pointer to the address we are relocating.
diff --git a/ldso/ldso/bfin/dl-sysdep.h b/ldso/ldso/bfin/dl-sysdep.h
index 0376c6151..9d89a9e3e 100644
--- a/ldso/ldso/bfin/dl-sysdep.h
+++ b/ldso/ldso/bfin/dl-sysdep.h
@@ -34,6 +34,8 @@ USA. */
#define DL_NO_COPY_RELOCS
+#define HAVE_DL_INLINES_H
+
/*
* Initialization sequence for a GOT. Copy the resolver function
* 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) \
(! (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
libraries. It probably wouldn't be too hard to support loading
shared libraries that require relocation by the same amount, but we