diff options
| author | Roland McGrath <[email protected]> | 2005-08-13 01:59:10 +0000 |
|---|---|---|
| committer | Roland McGrath <[email protected]> | 2005-08-13 01:59:10 +0000 |
| commit | 653d3763e986da9f1c8a92ff9103d85c534754cd (patch) | |
| tree | 66c2402ec55cf778e36e98c52e5c5d5c4e9aae25 /libebl/libebl_ppc.h | |
| parent | 1c83bf1fd46b74492297694b642df36d18c6e7b5 (diff) | |
libebl/
2005-08-12 Roland McGrath <[email protected]>
* libeblP.h (struct ebl): Add bss_plt_p hook.
* eblopenbackend.c (default_bss_plt_p): New function.
(fill_defaults): Use it.
* eblbsspltp.c: New file.
* Makefile.am (gen_SOURCES): Add it.
* libebl.h: Declare ebl_bss_plt_p.
* ppc_symbol.c (ppc_bss_plt_p): New function.
* libebl_ppc.h: Declare it.
* ppc_init.c (ppc_init): Use it.
* ppc64_symbol.c (ppc64_bss_plt_p): New function.
* libebl_ppc64.h: Declare it.
* ppc64_init.c (ppc64_init): Use it.
* ebl_check_special_symbol.c: New file.
* Makefile.am (gen_SOURCES): Add it.
* libebl.h: Declare ebl_check_special_symbol.
* libeblP.h (struct ebl): Add check_special_symbol hook.
* eblopenbackend.c (default_check_special_symbol): New function.
(fill_defaults): Use it.
* ppc_symbol.c (ppc_check_special_symbol): New function.
* libebl_ppc.h: Add prototype.
* ppc_init.c (ppc_init): Use it.
* ppc64_symbol.c (ppc64_check_special_symbol): New function.
* libebl_ppc64.h: Add prototype.
* ppc64_init.c (ppc64_init): Use it.
src/
2005-08-12 Roland McGrath <[email protected]>
* elflint.c (check_symtab): Check that _GLOBAL_OFFSET_TABLE_ st_shndx
refers to the right section if it's not SHN_ABS.
Let ebl_check_special_symbol override _G_O_T_ value and size checks.
* elflint.c (check_sections): Don't complain about a non-NOBITS
section taking no segment space, if it's sh_size is 0.
* elflint.c (check_sections): Use ebl_bss_plt_p to see if .plt should
be PROGBITS or NOBITS.
* elflint.c (check_symtab): Use ebl_check_special_symbol to override
standard st_value and st_size checks.
Diffstat (limited to 'libebl/libebl_ppc.h')
| -rw-r--r-- | libebl/libebl_ppc.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libebl/libebl_ppc.h b/libebl/libebl_ppc.h index e3c6d21c..03df06db 100644 --- a/libebl/libebl_ppc.h +++ b/libebl/libebl_ppc.h @@ -50,4 +50,14 @@ extern bool ppc_dynamic_tag_check (int64_t tag); /* Check whether given relocation is a copy relocation. */ extern bool ppc_copy_reloc_p (int reloc); +/* Check whether given symbol's st_value and st_size are OK despite normal + checks. */ +extern bool ppc_check_special_symbol (Elf *elf, + const GElf_Sym *sym, const char *name, + const GElf_Shdr *destshdr); + +/* Check if backend uses a bss PLT in this file. */ +extern bool ppc_bss_plt_p (Elf *elf); + + #endif /* libebl_ppc.h */ |
