diff options
| author | Ulrich Drepper <[email protected]> | 2008-01-22 15:49:39 +0000 |
|---|---|---|
| committer | Ulrich Drepper <[email protected]> | 2008-01-22 15:49:39 +0000 |
| commit | 5449a6b315822ad80f18ae497d89b5c329f94b02 (patch) | |
| tree | 7868ccfe0d9b61d986f2c57eddab504f7ec6cf17 /src/ld.h | |
| parent | 8d358d95cc4b7389dec1962f6062af8e90ab93d9 (diff) | |
Add .got.plt handling. Fix R_386_GOT32 relocations for static binaries.
Diffstat (limited to 'src/ld.h')
| -rw-r--r-- | src/ld.h | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -406,6 +406,11 @@ struct callbacks #define INITIALIZE_GOT(state, scn) \ DL_CALL_FCT ((state)->callbacks.initialize_got, (state, scn)) + /* Create the data structures for the .got.plt section and initialize it. */ + void (*initialize_gotplt) (struct ld_state *, Elf_Scn *scn); +#define INITIALIZE_GOTPLT(state, scn) \ + DL_CALL_FCT ((state)->callbacks.initialize_gotplt, (state, scn)) + /* Return the tag corresponding to the native relocation type for the platform. */ int (*rel_type) (struct ld_state *); @@ -670,6 +675,7 @@ struct scnhead scn_normal, /* Section from the input file(s). */ scn_dot_interp, /* Generated .interp section. */ scn_dot_got, /* Generated .got section. */ + scn_dot_gotplt, /* Generated .got.plt section. */ scn_dot_dynrel, /* Generated .rel.dyn section. */ scn_dot_dynamic, /* Generated .dynamic section. */ scn_dot_dynsym, /* Generated .dynsym section. */ @@ -937,6 +943,8 @@ struct ld_state /* Global offset table section. */ Elf32_Word gotscnidx; + /* And the part of the PLT. */ + Elf32_Word gotpltscnidx; /* This section will hole all non-PLT relocations. */ Elf32_Word reldynscnidx; |
