This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
src bfd/elfxx-mips.c bfd/ChangeLog ld/testsuit ...
- From: rsandifo at sourceware dot org
- To: binutils-cvs at sourceware dot org
- Date: 19 Sep 2010 10:26:28 -0000
- Subject: src bfd/elfxx-mips.c bfd/ChangeLog ld/testsuit ...
CVSROOT: /cvs/src
Module name: src
Changes by: rsandifo@sourceware.org 2010-09-19 10:26:28
Modified files:
bfd : elfxx-mips.c ChangeLog
ld/testsuite/ld-mips-elf: elf-rel-got-n32.d
elf-rel-got-n64-linux.d
elf-rel-xgot-n32.d
elf-rel-xgot-n64-linux.d
mips16-pic-1.gd mips16-pic-1.dd
multi-got-no-shared.d
ld/testsuite : ChangeLog
Log message:
bfd/
* elfxx-mips.c (mips_got_entry): Adjust commentary.
(mips_elf_create_local_got_entry): If given a symbol, check that it
has been assigned to the local part of the GOT.
(mips_elf_count_got_symbols): Take the bfd_link_info as argument
instead of the master GOT. Put all locally-binding symbols in
the local area.
(mips_elf_make_got_per_bfd): Use global_got_area to decide whether
a symbol lives in the local or global area.
(mips_elf_local_relocation_p): Remove check_forced argument and
retain only the !check_forced behavior.
(mips_elf_calculate_relocation): Adjust call accordingly.
Use global_got_area to decide whether an output relocation
should be local or global. Explicitly decay R_MIPS_GOT_PAGE
into R_MIPS_GOT_DISP where appropriate. Fix selection of
local vs. global semantics for R_MIPS*_26. Remove redundant
reevaluation of what is stored in was_local_p.
(mips_elf_create_dynamic_relocation): Use global_got_area to decide
whether the relocation should be against a global or local symbol.
(mips_elf_lay_out_got): Update the GOT traversal after the above
change to mips_elf_count_got_symbols.
(mips_elf_adjust_addend): Adjust call to mips_elf_local_relocation_p.
(_bfd_mips_elf_relocate_section): Likewise.
(_bfd_mips_elf_finish_dynamic_symbol): Use global_got_area to decide
whether the symbol has a global got entry.
(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
ld/testsuite/
* ld-mips-elf/elf-rel-got-n32.d: Swap two local GOT entries
and remove some duplication between the global and local GOT
entries. Adjust GP offsets accordingly.
* ld-mips-elf/elf-rel-got-n64-linux.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n32.d: Reorder GOT entries and update
GP offsets accordingly.
* ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
* ld-mips-elf/mips16-pic-1.gd: Move all global GOT entries to
the local GOT.
* ld-mips-elf/mips16-pic-1.dd: Update GP offsets accordingly.
* ld-mips-elf/multi-got-no-shared.d: Adjust GP setup for
smaller GOT sizes.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elfxx-mips.c.diff?cvsroot=src&r1=1.272&r2=1.273
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/ChangeLog.diff?cvsroot=src&r1=1.5136&r2=1.5137
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d.diff?cvsroot=src&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d.diff?cvsroot=src&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d.diff?cvsroot=src&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d.diff?cvsroot=src&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-mips-elf/mips16-pic-1.gd.diff?cvsroot=src&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-mips-elf/mips16-pic-1.dd.diff?cvsroot=src&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ld-mips-elf/multi-got-no-shared.d.diff?cvsroot=src&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/testsuite/ChangeLog.diff?cvsroot=src&r1=1.1286&r2=1.1287