Alan Modra
|
8ded5a0fc3
|
bfd/
* elf-bfd.h: Formatting.
(_bfd_elf_map_sections_to_segments): Declare.
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame_hdr): Don't
clear program_header_size.
* elf.c (get_program_header_size): Move. Don't use or set saved
program_header_size here.
(elf_modify_segment_map): New function. Split out from..
(assign_file_positions_for_load_sections): ..here. Assert
header size is correct. Remove dead code.
(_bfd_elf_map_sections_to_segments): Rename from
map_sections_to_segments. Make global. Use get_program_header_size
when we need estimate of header size. Call elf_modify_segment_map.
Set program_header_size.
(print_segment_map): Delete.
(_bfd_elf_sizeof_headers): If segment_map available, get the
actual size.
* elf32-arm.c (elf32_arm_symbian_modify_segment_map): Make safe
for calling more than once.
* elf32-bfin.c (elf32_bfinfdpic_modify_segment_map): Likewise.
* elf32-frv.c (elf32_frvfdpic_modify_segment_map): Likewise.
* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
* elf32-i370.c (elf_backend_add_symbol_hook): Delete.
(elf_backend_additional_program_headers): Delete.
(elf_backend_modify_segment_map): Delete.
* elf64-hppa.c (elf64_hppa_modify_segment_map): Convert to ISO C.
* elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
* doc/bfdint.texi: Delete SIZEOF_HEADERS difficulties.
ld/
* Makefile.am (ELF_DEPS): Define. Use in emul file deps. Fix
many ELF emul file deps that incorrectly said they needed elf32.em
instead of generic.em. Add genelf.em as required.
* Makefile.in: Regenerate.
* ldlang.c (lang_process): Call ldemul_finish before
lang_check_section_addresses.
* emulparams/arcelf.sh: Generic elf target needs genelf.
* emulparams/d30v_e.sh: Likewise.
* emulparams/d30v_o.sh: Likewise.
* emulparams/d30velf.sh: Likewise.
* emulparams/elf32_dlx.sh: Likewise.
* emulparams/elf32_i860.sh: Likewise.
* emulparams/elf32fr30.sh: Likewise.
* emulparams/elf32frv.sh: Likewise.
* emulparams/elf32iq10.sh: Likewise.
* emulparams/elf32iq2000.sh: Likewise.
* emulparams/elf32mt.sh: Likewise.
* emulparams/mn10200.sh: Likewise.
* emulparams/or32.sh: Likewise.
* emulparams/or32elf.sh: Likewise.
* emulparams/pjelf.sh: Likewise.
* emulparams/msp430all.sh: Likewise. Extract common entries.
* emulparams/pjlelf.sh: Include pjelf.sh.
* emulparams/elf32frvfd.sh (EXTRA_EM_FILE): Unset.
* emulparams/mn10300.sh (EXTRA_EM_FILE): Unset.
* emultempl/elf-generic.em: New file.
* emultempl/genelf.em: New file.
* emultempl/elf32.em: Include elf-generic.em.
(gld${EMULATION_NAME}_layout_sections_again): Delete.
(gld${EMULATION_NAME}_finish): Call gld${EMULATION_NAME}_map_segments.
* emultempl/hppaelf.em (hppaelf_layout_sections_again): Likewise.
(gld${EMULATION_NAME}_finish): Rename from hppaelf_finish. Call
gld${EMULATION_NAME}_map_segments.
(LDEMUL_FINISH): Update.
* emultempl/mmo.em: Correct comment. Include elf-bfd.h and
source elf-generic.em.
(mmo_finish): Call gld${EMULATION_NAME}_map_segments.
* emultempl/ppc64elf.em (ppc_layout_sections_again): Likewise.
(gld${EMULATION_NAME}_finish): Rename from ppc_finish. Call
gld${EMULATION_NAME}_map_segments.
(LDEMUL_FINISH): Update.
ld/testsuite/
* ld-elf/eh1.d: Update for fewer program headers.
* ld-elf/eh2.d: Likewise.
* ld-elf/eh3.d: Likewise.
|
2006-06-20 02:22:16 +00:00 |
H.J. Lu
|
24718e3ba5
|
bfd/
2006-05-30 H.J. Lu <hongjiu.lu@intel.com>
* bfd.c (bfd_emul_get_maxpagesize): New.
(bfd_elf_set_pagesize): Likewise.
(bfd_emul_set_maxpagesize): Likewise.
(bfd_emul_get_commonpagesize): Likewise.
(bfd_emul_set_commonpagesize): Likewise.
* bfd-in2.h: Regenerated.
* elf-bfd.h (elf_backend_data): Add commonpagesize.
(xvec_get_elf_backend_data): New.
(get_elf_backend_data): Use xvec_get_elf_backend_data.
* elf32-arm.c (elf32_arm_vxworks_bed): Remove const.
* elfxx-target.h (elfNN_bed): Likewise.
* elf32-arm.c (ELF_COMMONPAGESIZE): Defined.
* elf32-mips.c (ELF_COMMONPAGESIZE): Likewise.
* elf32-ppc.c (ELF_COMMONPAGESIZE): Likewise.
* elf32-sh.c (ELF_COMMONPAGESIZE): Likewise.
* elf32-sh64.c (ELF_COMMONPAGESIZE): Likewise.
* elf32-sparc.c (ELF_COMMONPAGESIZE): Likewise.
* elf64-alpha.c (ELF_COMMONPAGESIZE): Likewise.
* elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise.
* elf64-sparc.c (ELF_COMMONPAGESIZE): Likewise.
* elf64-x86-64.c (ELF_COMMONPAGESIZE): Likewise.
* elfn32-mips.c (ELF_COMMONPAGESIZE): Likewise.
* elfxx-ia64.c (ELF_COMMONPAGESIZE): Likewise.
* elfxx-target.h (ELF_COMMONPAGESIZE): Define if not defined.
(elfNN_bed): Initialize commonpagesize with ELF_COMMONPAGESIZE.
* targets.c (bfd_find_target): Support NULL abfd.
ld/
2006-05-30 H.J. Lu <hongjiu.lu@intel.com>
* emulparams/arcelf.sh (MAXPAGESIZE): Changed to
"CONSTANT (MAXPAGESIZE)".
* emulparams/armelf_nbsd.sh: Likewise.
* emulparams/armelf_vxworks.sh: Likewise.
* emulparams/armnto.sh: Likewise.
* emulparams/armsymbian.sh: Likewise.
* emulparams/crislinux.sh: Likewise.
* emulparams/elf32_i860.sh: Likewise.
* emulparams/elf32_i960.sh: Likewise.
* emulparams/elf32am33lin.sh: Likewise.
* emulparams/elf32bfinfd.sh: Likewise.
* emulparams/elf32bmipn32-defs.sh: Likewise.
* emulparams/elf32frvfd.sh: Likewise.
* emulparams/elf32i370.sh: Likewise.
* emulparams/elf32lppcnto.sh: Likewise.
* emulparams/elf32mcore.sh: Likewise.
* emulparams/elf32openrisc.sh: Likewise.
* emulparams/elf32ppcnto.sh: Likewise.
* emulparams/elf32ppcwindiss.sh: Likewise.
* emulparams/elf32vax.sh: Likewise.
* emulparams/elf32xc16x.sh: Likewise.
* emulparams/elf32xc16xl.sh: Likewise.
* emulparams/elf32xc16xs.sh: Likewise.
* emulparams/elf64_aix.sh: Likewise.
* emulparams/elf64hppa.sh: Likewise.
* emulparams/elf64mmix.sh: Likewise.
* emulparams/elf_i386_be.sh: Likewise.
* emulparams/elf_i386_chaos.sh: Likewise.
* emulparams/elf_i386_ldso.sh: Likewise.
* emulparams/hppa64linux.sh: Likewise.
* emulparams/hppalinux.sh: Likewise.
* emulparams/hppaobsd.sh: Likewise.
* emulparams/i386lynx.sh: Likewise.
* emulparams/i386moss.sh: Likewise.
* emulparams/i386nto.sh: Likewise.
* emulparams/i386nw.sh: Likewise.
* emulparams/m32relf_linux.sh: Likewise.
* emulparams/m68kpsos.sh: Likewise.
* emulparams/or32elf.sh: Likewise.
* emulparams/pjelf.sh: Likewise.
* emulparams/pjlelf.sh: Likewise.
* emulparams/ppclynx.sh: Likewise.
* emulparams/ppcnw.sh: Likewise.
* emulparams/shelf32_nbsd.sh : Likewise.
* emulparams/shelf_nbsd.sh: Likewise.
* emulparams/shelf_nto.sh: Likewise.
* emulparams/shlelf_nto.sh: Likewise.
* emulparams/xtensa-config.sh: Likewise.
* emulparams/armelf_linux.sh (MAXPAGESIZE): Changed to
"CONSTANT (MAXPAGESIZE)".
(COMMONPAGESIZE): Changed to "CONSTANT (COMMONPAGESIZE)".
* emulparams/elf32_sparc.sh: Likewise.
* emulparams/elf32bmip.sh: Likewise.
* emulparams/elf32ppccommon.sh: Likewise.
* emulparams/elf64_ia64.sh: Likewise.
* emulparams/elf64_s390.sh: Likewise.
* emulparams/elf64_sparc.sh: Likewise.
* emulparams/elf64alpha.sh: Likewise.
* emulparams/elf64ppc.sh: Likewise.
* emulparams/elf_i386.sh: Likewise.
* emulparams/elf_i386_vxworks.sh: Likewise.
* emulparams/elf_s390.sh: Likewise.
* emulparams/elf_x86_64.sh: Likewise.
* emulparams/shlelf32_linux.sh: Likewise.
* emulparams/shlelf_linux.sh: Likewise.
* emulparams/elf32bmipn32.sh (COMMONPAGESIZE): Changed to
"CONSTANT (COMMONPAGESIZE)".
* emulparams/elf32btsmipn32.sh: Likewise.
* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
"-z max-page-size=" and "-z common-page-size=".
(gld${EMULATION_NAME}_list_options): Likewise.
* ld.h (ld_config_type): Add maxpagesize and commonpagesize.
* ld.texinfo: Document "-z max-page-size=" and
"-z common-page-size=".
* ldexp.c (exp_print_token): Handle CONSTANT.
(fold_name): Likewise.
* ldgram.y: Likewise.
* ldlex.l: Likewise.
* ldmain.c (main): Initiliaze config.maxpagesize and
config.commonpagesize. Call bfd_emul_set_maxpagesize if
config.maxpagesize isn't 0. Call bfd_emul_set_commonpagesize if
config.commonpagesize config.maxpagesize isn't 0.
ld/testsuite/
2006-05-30 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/binutils.exp: New file.
* ld-elf/commonpage1.d: Likewise.
* ld-elf/maxpage1.d: Likewise.
* ld-elf/maxpage1.s: Likewise.
|
2006-05-30 16:45:32 +00:00 |
Alexandre Oliva
|
aee6f5b4bd
|
bfd/ChangeLog:
* elf-bfd.h (struct elf_backend_data): Added
elf_backend_omit_section_dynsym.
(_bfd_elf_link_omit_section_dynsym): Declare.
* elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
(elf_backend_omit_section_dynsym): Use it for frvfdpic.
* elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
(_bfd_elf_link_renumber_dynsyms): ... this function.
* elfxx-target.h (elf_backend_omit_section_dynsym): Default to
_bfd_elf_link_omit_section_dynsym).
(elfNN_bed): Added elf_backend_omit_section_dynsym.
ld/ChangeLog:
* emulparams/elf32frvfd.sh (GENERATE_PIE_SCRIPT): Set to yes.
ld/testsuite/ChangeLog:
* ld-frv/fdpic-pie-1.d: Adjust for pie-specific link script.
* ld-frv/fdpic-pie-2.d: Likewise.
* ld-frv/fdpic-pie-6.d: Likewise.
* ld-frv/fdpic-pie-7.d: Likewise.
* ld-frv/fdpic-pie-8.d: Likewise.
* ld-frv/fdpic-shared-1.d: Likewise.
* ld-frv/fdpic-shared-2.d: Likewise.
* ld-frv/fdpic-shared-3.d: Likewise.
* ld-frv/fdpic-shared-4.d: Likewise.
* ld-frv/fdpic-shared-5.d: Likewise.
* ld-frv/fdpic-shared-6.d: Likewise.
* ld-frv/fdpic-shared-7.d: Likewise.
* ld-frv/fdpic-shared-8.d: Likewise.
* ld-frv/fdpic-shared-local-2.d: Likewise.
* ld-frv/fdpic-shared-local-8.d: Likewise.
|
2004-06-21 14:45:42 +00:00 |
Alexandre Oliva
|
41cf0c6285
|
* emulparams/elf32frvfd.sh (OUTPUT_FORMAT): Switch to new
elf32-frvfdpic.
|
2004-05-06 02:46:54 +00:00 |
Alexandre Oliva
|
44349745f2
|
* emulparams/elf32frvfd.sh (MAXPAGESIZE): Change to 16Kb.
|
2004-03-20 05:49:27 +00:00 |
Alexandre Oliva
|
005e11184b
|
2003-11-28 Alexandre Oliva <aoliva@redhat.com>
* emulparams/elf32frvfd.sh (EMBEDDED): Clear.
2003-11-05 Alexandre Oliva <aoliva@redhat.com>
* emulparams/elf32frvfd.sh (STACK_ADDR): Unset.
(MAXPAGESIZE): Set to 64Kb.
(OTHER_READONLY_SECTIONS): Define __ROFIXUP_LIST__ and
__ROFIXUP_END__. Don't map .rofixup.got any more.
* emulparams/elf32frv.sh (NOP): Set.
2003-10-31 Alexandre Oliva <aoliva@redhat.com>
* configure.tgt: Add frv-*-*linux*.
2003-09-30 Alexandre Oliva <aoliva@redhat.com>
* Makefile.am (ALL_EMULATIONS): Added eelf32frvfd.o.
(eelf32frvfd.c): New.
* configure.tgt <frv-*-*>: Added it to targ_extra_emuls.
* emulparams/elf32frv.sh: Reverted previous two patches.
* emulparams/elf32frvfd.sh: New.
* Makefile.in: Rebuilt.
2003-09-18 Alexandre Oliva <aoliva@redhat.com>
* emulparams/elf32frv.sh (OTHER_READONLY_SECTIONS): Added
.rofixup.got to .rofixup.
2003-09-15 Alexandre Oliva <aoliva@redhat.com>
* emulparams/elf32frv.sh (MAXPAGESIZE): Make it 256KiB, not 256B.
(TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT): Set.
|
2004-01-06 19:19:52 +00:00 |