summaryrefslogtreecommitdiff
path: root/ldso/include/dl-defs.h
diff options
context:
space:
mode:
authorBernd Schmidt <bernds_cb1@t-online.de>2007-12-03 23:10:14 +0000
committerBernd Schmidt <bernds_cb1@t-online.de>2007-12-03 23:10:14 +0000
commitc0008412eb2f37042adc360577fe8f234b3c095f (patch)
tree4bb735febbd5f00d97ba1eff78aa9c067093afc8 /ldso/include/dl-defs.h
parenta53ad698a17a33b9983a381aa64a335ca296b71a (diff)
Blackfin FD-PIC patches 5/6.
A couple more target macros for ld.so to deal with FD-PIC support. We need special code to compute the initial got and dpnt, and we need to pass extra arguments to _dl_get_ready_to_run.
Diffstat (limited to 'ldso/include/dl-defs.h')
-rw-r--r--ldso/include/dl-defs.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/ldso/include/dl-defs.h b/ldso/include/dl-defs.h
index 21a66a40f..3de7f5230 100644
--- a/ldso/include/dl-defs.h
+++ b/ldso/include/dl-defs.h
@@ -95,6 +95,20 @@ typedef struct {
((LOADADDR) + (ADDR))
#endif
+/* Initialize the location of the dynamic addr. This is only called
+ * from DL_START, so additional arguments passed to it may be referenced. */
+#ifndef DL_BOOT_COMPUTE_DYN
+#define DL_BOOT_COMPUTE_DYN(DPNT, GOT, LOAD_ADDR) \
+ ((DPNT) = ((ElfW(Dyn) *) DL_RELOC_ADDR(load_addr, got)))
+#endif
+
+/* Initialize the location of the global offset table. This is only called
+ * from DL_START, so additional arguments passed to it may be referenced. */
+#ifndef DL_BOOT_COMPUTE_GOT
+#define DL_BOOT_COMPUTE_GOT(GOT) \
+ ((GOT) = elf_machine_dynamic())
+#endif
+
/* Initialize a LOADADDR representing the loader itself. It's only
* called from DL_BOOT, so additional arguments passed to it may be
* referenced.