diff options
author | Bernd Schmidt <bernds_cb1@t-online.de> | 2008-01-08 23:24:30 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds_cb1@t-online.de> | 2008-01-08 23:24:30 +0000 |
commit | 6c05ed96f646e20a8ef104d36d260fab30486768 (patch) | |
tree | 27c6d1791e0fb5c719fef90dc4478e996528e6b2 | |
parent | 3ceb3bcb76545066bad6a85b102944136ca67632 (diff) |
Some more Blackfin/FDPIC ldso merging work. Include dl-inlines.h when it
exists, and move some definitions to their proper place.
-rw-r--r-- | ldso/include/ldso.h | 4 | ||||
-rw-r--r-- | ldso/ldso/bfin/dl-startup.h | 11 | ||||
-rw-r--r-- | ldso/ldso/bfin/dl-sysdep.h | 13 |
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 |