From 6c05ed96f646e20a8ef104d36d260fab30486768 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Tue, 8 Jan 2008 23:24:30 +0000 Subject: Some more Blackfin/FDPIC ldso merging work. Include dl-inlines.h when it exists, and move some definitions to their proper place. --- ldso/include/ldso.h | 4 ++++ ldso/ldso/bfin/dl-startup.h | 11 ----------- ldso/ldso/bfin/dl-sysdep.h | 13 +++++++++++++ 3 files changed, 17 insertions(+), 11 deletions(-) (limited to 'ldso') 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 +#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 @@ -105,17 +105,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 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 -- cgit v1.2.3