Age | Commit message (Collapse) | Author |
|
My original binutils patches for MIPS prelink support were against 2.17,
and reserved room for a program header without actually creating one.
The mainline (now 2.18) binutils patches ended up adding a PT_NULL
header instead. This was needed because of mainline's SIZEOF_HEADER
relaxation and was probably a better idea anyway.
The patch below therefore teaches the prelinker to remove a PT_NULL
header if it needs to find room for a PT_LOAD header. Tested on the
MIPS port, where it allows a sysroot built with the mainline binutils
to be fully prelinked. Also tested on x86.
The patch involves a lot of reidentation, so for reference, I've
attached two versions: first the real patch, then the -b form.
Richard
200x-xx-xx Richard Sandiford <richard@codesourcery.com>
* src/space.c (find_readonly_space): If a new PT_LOAD header is needed,
first try removing a PT_NULL header.
|
|
2006-09-27 Richard Sandiford <richard@codesourcery.com>
* src/ld-libs.c (reloc_type_class): Handle EM_MIPS.
(do_mips_global_relocs): New function.
(handle_relocs_in_entry): Call it.
(determine_tlsoffsets): Handle EM_MIPS.
2006-09-27 Richard Sandiford <richard@codesourcery.com>
* src/ld-libs.c (do_reloc): New function, split out from
do_rel_section. Take the symbol and relocation type as arguments.
(do_rel_section): Call it.
(handle_relocs_in_entry): New function.
(handle_relocs): Call it.
|
|
Update to the latest version of elf.h that includes MIPS prelink.
|
|
Conflicts:
src/data.c
trunk/src/dso.c
trunk/src/prelink.h
trunk/testsuite/reloc5.c
trunk/testsuite/shuffle2.c
Updated versioning in:
trunk/src/execstack.c
trunk/src/ld-libs.c
trunk/src/main.c
* src/arch-arm.c: remove read_une32, write_ne32, buf_write_ne32,
buf_read_une32
* src/dso-readonly.c: sync to changes in src/dso.c
|
|
failures between closing the unprelinked dso and unlinking
ent->filename.
git-svn-id: http://sourceware.org/svn/prelink@151 94c539fb-cf18-0410-b60f-edeeb537fa16
|
|
git-svn-id: http://sourceware.org/svn/prelink@150 94c539fb-cf18-0410-b60f-edeeb537fa16
|
|
* src/Makefile.in: Regenerate.
* src/arch-mips.c: New file.
git-svn-id: http://sourceware.org/svn/prelink@146 94c539fb-cf18-0410-b60f-edeeb537fa16
|
|
(DT_MIPS_TIME_STAMP): Likewise.
(DT_MIPS_ICHECKSUM): Likewise.
(DT_MIPS_IVERSION): Likewise.
(DT_MIPS_FLAGS): Likewise.
(DT_MIPS_BASE_ADDRESS): Likewise.
(DT_MIPS_CONFLICT): Likewise.
(DT_MIPS_LIBLIST): Likewise.
(DT_MIPS_LOCAL_GOTNO): Likewise.
(DT_MIPS_CONFLICTNO): Likewise.
(DT_MIPS_LIBLISTNO): Likewise.
(DT_MIPS_SYMTABNO): Likewise.
(DT_MIPS_UNREFEXTNO): Likewise.
(DT_MIPS_GOTSYM): Likewise.
(DT_MIPS_HIPAGENO): Likewise.
(DT_MIPS_RLD_MAP): Likewise.
(R_MIPS_TLS_DTPMOD): Likewise.
(R_MIPS_TLS_DTPREL): Likewise.
(R_MIPS_TLS_TPREL): Likewise.
(R_MIPS_GLOB_DAT): Likewise.
(DSO): Add info_DT_MIPS_LOCAL_GOTNO, info_DT_MIPS_GOTSYM,
and info_DT_MIPS_SYMTABNO.
* src/dso.c (read_dynamic): Initialize the new DSO fields.
(adjust_symbol_p): Handle stub values on MIPS.
* src/prelink.c (prelink_prepare): Handle SHT_DYNAMIC and
SHT_MIPS_REGINFO on MIPS.
git-svn-id: http://sourceware.org/svn/prelink@145 94c539fb-cf18-0410-b60f-edeeb537fa16
|
|
in the PT_PHDR segment.
git-svn-id: http://sourceware.org/svn/prelink@144 94c539fb-cf18-0410-b60f-edeeb537fa16
|
|
(init_data_iterator): Declare.
(get_data_from_iterator): Likewise.
(get_sym_from_iterator): Likewise.
* src/data.c (init_data_iterator): New function.
(get_data_from_iterator): Likewise.
(get_sym_from_iterator): Likewise.
git-svn-id: http://sourceware.org/svn/prelink@143 94c539fb-cf18-0410-b60f-edeeb537fa16
|
|
READWRITEPROTO for big and little endian. Add prototypes for
native-endian functions (buf_read_uneNN, read_uneNN, buf_write_neNN
and write_neNN). Replace uses of READWRITEPROTO with uses of
this macro.
* src/data.c (BUFREADUNE, READUNE, WRITENE, BUFWRITENE): New macros.
(READWRITESIZE): New macro. Instantiate READWRITE for big and
little endian. Instantiate BUFREADUNE, READUNE, WRITENE
and BUFWRITENE. Replace uses of READWRITE with uses of this macro.
* src/arch-sh.c (read_une32, write_ne32, buf_write_ne32): Delete.
git-svn-id: http://sourceware.org/svn/prelink@142 94c539fb-cf18-0410-b60f-edeeb537fa16
|
|
* src/conflict.c (prelink_build_conflicts): If defined, call it
for each dependency.
git-svn-id: http://sourceware.org/svn/prelink@141 94c539fb-cf18-0410-b60f-edeeb537fa16
|
|
a "struct prelink_info *" argument, not a "DSO *" argument.
* src/prelink.c (prelink): Adjust call accordingly.
* src/arch-alpha.c (alpha_arch_prelink): Adjust definition accordingly.
* src/arch-arm.c (arm_arch_prelink): Likewise.
* src/arch-cris.c (cris_arch_prelink): Likewise.
* src/arch-i386.c (i386_arch_prelink): Likewise.
* src/arch-ia64.c (ia64_arch_prelink): Likewise.
* src/arch-ppc.c (ppc_arch_prelink): Likewise.
* src/arch-s390.c (s390_arch_prelink): Likewise
* src/arch-s390x.c (s390x_arch_prelink): Likewise
* src/arch-sh.c (sh_arch_prelink): Likewise.
* src/arch-sparc64.c (sparc64_arch_prelink): Likewise.
* src/arch-sparc.c (sparc_arch_prelink): Likewise
* src/arch-x86_64.c (x86_64_arch_prelink): Likewise.
git-svn-id: http://sourceware.org/svn/prelink@140 94c539fb-cf18-0410-b60f-edeeb537fa16
|
|
* src/dso.c (adjust_dso): Use it, if defined.
git-svn-id: http://sourceware.org/svn/prelink@139 94c539fb-cf18-0410-b60f-edeeb537fa16
|
|
* src/dso.c (adjust_symbol_p): New function, extracted from...
(adjust_symtab): ...here.
git-svn-id: http://sourceware.org/svn/prelink@138 94c539fb-cf18-0410-b60f-edeeb537fa16
|
|
git-svn-id: http://sourceware.org/svn/prelink@136 94c539fb-cf18-0410-b60f-edeeb537fa16
|
|
git-svn-id: http://sourceware.org/svn/prelink@135 94c539fb-cf18-0410-b60f-edeeb537fa16
|
|
git-svn-id: http://sourceware.org/svn/prelink@134 94c539fb-cf18-0410-b60f-edeeb537fa16
|