binutils-gdb.git
12 years ago * output.h (Output_data_got::add_global_tls, add_local_tls,
Alan Modra [Mon, 10 Sep 2012 23:05:54 +0000 (23:05 +0000)]
* output.h (Output_data_got::add_global_tls, add_local_tls,
add_local_tls_pair): New functions.
(Output_data_got::add_local_pair_with_rel): Remove second
reloc param.  Expand comment.
(Output_data_got::Got_entry): Rename use_plt_offset_ to
use_plt_or_tls_offset_, similarly for constructor param.
(Output_data_got::Got_entry::write): Add got_index param.
* output.cc (Output_data_got::add_global_tls, add_local_tls,
add_local_tls_pair): New functions.
(Output_data_got::Got_entry::write): Handle tls symbols
with use_plt_or_tls_offset_ set specially.
(Output_data_got::add_local_pair_with_rel): Only one reloc.
(Output_data_got::do_write): Replace iterator with index, pass
index to entry write function.
* target.h (Target::tls_offset_for_local, tls_offset_for_global,
do_tls_offset_for_local, do_tls_offset_for_global): New functions.
* arm.cc (Target_arm::Scan::local): Update add_local_pair_with_rel
call.
* i386.cc (Target_i386::Scan::local): Likewise.
* sparc.cc (Target_sparc::Scan::local): Likewise.
* x86_64.cc (Target_x86_64::Scan::local): Likewise.
* powerpc.cc (Target_powerpc::do_tls_offset_for_local,
do_tls_offset_for_global): New functions.
(Target_powerpc::Scan::local): Correct TLS relocations and got
entry values.
(Target_powerpc::Scan::global): Don't emit unnecessary
dynamic relocations on TLS GOT entries.

12 years ago * config.in: Disable sanity check for kfreebsd.
Alan Modra [Mon, 10 Sep 2012 22:30:57 +0000 (22:30 +0000)]
* config.in: Disable sanity check for kfreebsd.

12 years agocrash printing optimized out variant type
Joel Brobecker [Mon, 10 Sep 2012 22:18:24 +0000 (22:18 +0000)]
crash printing optimized out variant type

Assuming the following declarations:

   type Discriminants_Record (A : Integer; B : Boolean) is record
      C : Float;
   end record;
   Z : Discriminants_Record := (A => 1, B => False, C => 2.0);

If variable Z is not used, and the compiler optimizes it out,
GDB would crash as follow:

    (gdb) print Z
    /[...]/gdb/valops.c:1121: internal-error: Unexpected lazy value type.

This is because the ada-lang module forgot to set the optimized_out
flag in the value returned by ada_evaluate_subexp during the value's
"fixing" process.  Later on, when trying to print the resulting value,
GDB finds that the value is still lazily allocated, and thus tries to
fetch it. But this is not allowed for not_lval values, hence the internal
error.

gdb/ChangeLog:

        * ada-lang.c (coerce_unspec_val_to_type): Make sure that
        the optimized_out flag is preserved.

gdb/testsuite/ChangeLog:

        * gdb.ada/optim_drec: New testcase.

12 years agoFix function prologue analyzer for moxie.
Anthony Green [Mon, 10 Sep 2012 21:16:43 +0000 (21:16 +0000)]
Fix function prologue analyzer for moxie.

12 years ago2012-09-10 Sterling Augustine <saugustine@google.com>
Sterling Augustine [Mon, 10 Sep 2012 19:16:33 +0000 (19:16 +0000)]
2012-09-10  Sterling Augustine  <saugustine@google.com>

* gdb-index.cc (Gdb_index::pubnames_read): New parameter.
(Gdb_index::pubtypes_read): New parameter.
(Gdb_index_info_reader::read_pubnames_and_pubtypes): Add parameters
to calls.
* gdb-index.h (Gdb_index): New fields pubnames_object_ and
pubtypes_object_.

12 years ago * boards/fission.exp: Explicitly mark "board" as not remote.
Doug Evans [Mon, 10 Sep 2012 17:48:11 +0000 (17:48 +0000)]
* boards/fission.exp: Explicitly mark "board" as not remote.

12 years ago PR gdb/13483
Keith Seitz [Mon, 10 Sep 2012 17:12:53 +0000 (17:12 +0000)]
PR gdb/13483
* gdbtypes.h (BOOL_PTR_CONVERSION_BADNESS): Rename to ...
(BOOL_CONVERSION_BADNESS): ... this.
* gdbtypes.c (BOOL_PTR_CONVERSION_BADNESS): Likewise.
(rank_one_type): Allow all boolean conversions
permitted by the standard.

* gdb.cp/converts.cc (A::A): Add ctor.
(A::member_): Add member.
(enum my_enum): New enumeration.
(main): Add calls to foo1_7 with various
permitted arguments.
* gdb.cp/converts.exp: Add tests for boolean
conversions permitted by the standard.

12 years agoRegenerate binutils configure
H.J. Lu [Mon, 10 Sep 2012 17:00:44 +0000 (17:00 +0000)]
Regenerate binutils configure

bfd/

2012-09-10  H.J. Lu  <hongjiu.lu@intel.com>

* configure: Regenerated.

binutils/

2012-09-10  H.J. Lu  <hongjiu.lu@intel.com>

* configure: Regenerated.

etc/

2010-11-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

* Makefile.in (install-strip): New target.

gas/

2012-09-10  H.J. Lu  <hongjiu.lu@intel.com>

* configure: Regenerated.

gold/

2012-09-09  Alan Modra  <amodra@gmail.com>

* target.h (Target::gc_mark_symbol, do_gc_mark_symbol): New functions.

gprof/

2012-09-10  H.J. Lu  <hongjiu.lu@intel.com>

* configure: Regenerated.

intl/

2010-06-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

PR bootstrap/44621

ld/

2012-09-10  H.J. Lu  <hongjiu.lu@intel.com>

* configure: Regenerated.

libiberty/

2011-08-28  H.J. Lu  <hongjiu.lu@intel.com>

* argv.c (dupargv): Replace malloc with xmalloc.  Don't check

opcodes/

2012-09-10  H.J. Lu  <hongjiu.lu@intel.com>

* configure: Regenerated.

12 years ago * configure.tgt (powerpc-*-elf, et al): Define targ_extra_libpath.
Alan Modra [Mon, 10 Sep 2012 14:35:07 +0000 (14:35 +0000)]
* configure.tgt (powerpc-*-elf, et al): Define targ_extra_libpath.
Correct whitespace.
(powerpcle-*-elf, et al): Likewise.  Correct targ_extra_emuls.

12 years ago * configure.tgt (powerpc-*-elf, et al): Define targ64_extra_emuls
Iain Sandoe [Mon, 10 Sep 2012 09:59:07 +0000 (09:59 +0000)]
    * configure.tgt (powerpc-*-elf, et al): Define targ64_extra_emuls
        and targ64_extra_libpath.
        (powerpcle-*-elf, et al): Likewise.

12 years agodaily update
Alan Modra [Mon, 10 Sep 2012 00:00:04 +0000 (00:00 +0000)]
daily update

12 years ago*** empty log message ***
gdbadmin [Mon, 10 Sep 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

12 years ago * ld-mmix/sec-1.d, ld-mmix/sec-3.d: Force end-of-section symbols
Hans-Peter Nilsson [Sun, 9 Sep 2012 16:31:12 +0000 (16:31 +0000)]
* ld-mmix/sec-1.d, ld-mmix/sec-3.d: Force end-of-section symbols
to be emitted and checked.
* ld-mmix/data-1.s, ld-mmix/orph-.d, ld-mmix/orph-awp.d,
ld-mmix/orph-d-a.d, ld-mmix/orph-d-awn.d, ld-mmix/orph-d-awp.d,
ld-mmix/orph-d-awpe.d, ld-mmix/orph-d.d, ld-mmix/orph-dc-ap.d,
ld-mmix/orph-dc-awp.d, ld-mmix/orph-dc.d, ld-mmix/tm-ae.s,
ld-mmix/tm-ape.s, ld-mmix/tm-awne.s, ld-mmix/tm-awpe.s,
ld-mmix/tm-d-ap.s, ld-mmix/tm-d-awp.s, ld-mmix/tm-d.s,
ld-mmix/tm-e.s, ld-mmix/tm-orph1.s: New test files.

12 years ago * emultempl/mmo.em (mmo_place_orphan): Rewrite to also attach
Hans-Peter Nilsson [Sun, 9 Sep 2012 16:30:40 +0000 (16:30 +0000)]
* emultempl/mmo.em (mmo_place_orphan): Rewrite to also attach
orphan sections to .data and .bss output sections, not just .text.
When giving up on finding a suitable output section, attach to any
output section other than .MMIX.reg_contents, if it exists.
* scripttempl/mmo.sc: Move output debug sections to just before
.MMIX.reg_contents.  Add .gnu.attributes.  Add new . = . NOP
assignments and move end-of-section provide-symbols after them
to force the end-of-section symbols to the address after orphan
placement.  Add SORT_NONE to .init and .fini sections.

12 years ago * target.h (Target::gc_mark_symbol, do_gc_mark_symbol): New functions.
Alan Modra [Sun, 9 Sep 2012 03:43:51 +0000 (03:43 +0000)]
* target.h (Target::gc_mark_symbol, do_gc_mark_symbol): New functions.
(Sized_target::gc_add_reference, do_gc_add_reference): New functions.
* gc.h (gc_process_relocs): Call target gc_add_reference.
* gold.cc (queue_middle_tasks): Use gc_mark_symbol on start sym.
* symtab.cc (Symbol_table::gc_mark_undef_symbols): Use gc_mark_symbol.
(Symbol_table::gc_mark_symbol): Call target gc_mark_symbol. Remove
unnecessary cast.
* powerpc.cc (Powerpc_relobj::get_opd_ent): Rearrange parameters
to cater for when we don't need code offset.  Update use.
(Powerpc_relobj::access_from_map_, opd_valid_): New vars.
(Powerpc_relobj::access_from_map, add_reference, opd_valid,
set_opd_valid): New functions.
(Target_powerpc::do_gc_add_reference): New function.
(Target_powerpc::gc_process_relocs): Call gc()->add_reference on
stashed refs.
(Target_powerpc::do_gc_mark_symbol): New function.

12 years ago*** empty log message ***
gdbadmin [Sun, 9 Sep 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

12 years agodaily update
Alan Modra [Sun, 9 Sep 2012 00:00:04 +0000 (00:00 +0000)]
daily update

12 years ago2012-09-08 Khoo Yit Phang <khooyp@cs.umd.edu>
Yit Phang Khoo [Sat, 8 Sep 2012 05:29:21 +0000 (05:29 +0000)]
2012-09-08  Khoo Yit Phang  <khooyp@cs.umd.edu>

Replace -nw option with $INTERNAL_GDBFLAGS in "xgdb" tests to
avoid spurious results due to ~/.gdbinit.
* gdb.gdb/complaint.exp (setup_test): Replace -nw option with
$INTERNAL_GDBFLAGS in run command.
* gdb.gdb/observer.exp (setup_test): Ditto.
* gdb.gdb/selftest.exp (test_with_self): Ditto.
* gdb.gdb/xfullpath.exp (setup_test): Ditto.

12 years agoAdjust for branch target encoding change
Anthony Green [Sat, 8 Sep 2012 01:26:07 +0000 (01:26 +0000)]
Adjust for branch target encoding change

12 years agoChange moxie branch target encodings.
Anthony Green [Sat, 8 Sep 2012 01:20:28 +0000 (01:20 +0000)]
Change moxie branch target encodings.

12 years agodaily update
Alan Modra [Sat, 8 Sep 2012 00:00:04 +0000 (00:00 +0000)]
daily update

12 years ago*** empty log message ***
gdbadmin [Sat, 8 Sep 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

12 years ago2012-09-06 Cary Coutant <ccoutant@google.com>
Cary Coutant [Fri, 7 Sep 2012 20:14:10 +0000 (20:14 +0000)]
2012-09-06  Cary Coutant  <ccoutant@google.com>

gold/
* dwarf_reader.cc (Dwarf_die::read_attributes): Add
DW_FORM_GNU_addr_index and DW_FORM_GNU_str_index.
(Dwarf_die::skip_attributes): Likewise.
* object.cc (Read_symbols_data::~Read_symbols_data): Update comment.
* testsuite/gdb_index_test.cc (inline_func_1): New function.
(main): Call it.
* testsuite/gdb_index_test_comm.sh: Check index for inline function.

12 years ago2012-09-06 Cary Coutant <ccoutant@google.com>
Cary Coutant [Fri, 7 Sep 2012 01:22:21 +0000 (01:22 +0000)]
2012-09-06  Cary Coutant  <ccoutant@google.com>

binutils/
* dwarf.c (decode_location_expression): Add
DW_OP_GNU_const_index.

12 years ago*** empty log message ***
gdbadmin [Fri, 7 Sep 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

12 years agodaily update
Alan Modra [Fri, 7 Sep 2012 00:00:04 +0000 (00:00 +0000)]
daily update

12 years ago2012-09-06 Cary Coutant <ccoutant@google.com>
Cary Coutant [Thu, 6 Sep 2012 23:08:07 +0000 (23:08 +0000)]
2012-09-06  Cary Coutant  <ccoutant@google.com>

include/
* dwarf2.def: Edit comment.

12 years ago * boards/fission.exp: New file.
Doug Evans [Thu, 6 Sep 2012 20:39:48 +0000 (20:39 +0000)]
* boards/fission.exp: New file.

12 years ago * python/py-newobjfileevent.c (create_new_objfile_event_object):
Tom Tromey [Thu, 6 Sep 2012 20:14:13 +0000 (20:14 +0000)]
* python/py-newobjfileevent.c (create_new_objfile_event_object):
Don't decref py_objfile.

12 years ago(test_subscript_regression): Remove no longer necessary globals,
Doug Evans [Thu, 6 Sep 2012 17:57:41 +0000 (17:57 +0000)]
(test_subscript_regression): Remove no longer necessary globals,
from previous patch.

12 years ago * gdb.python/py-value.exp: Use clean_restart.
Doug Evans [Thu, 6 Sep 2012 17:52:38 +0000 (17:52 +0000)]
* gdb.python/py-value.exp: Use clean_restart.

12 years ago * doc/binutils.texi (nm): Alpha-sort the option descriptions.
Nick Clifton [Thu, 6 Sep 2012 15:41:30 +0000 (15:41 +0000)]
* doc/binutils.texi (nm): Alpha-sort the option descriptions.
Add description of the --synthetic option.

12 years ago2012-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Andreas Krebbel [Thu, 6 Sep 2012 08:23:25 +0000 (08:23 +0000)]
2012-09-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/tc-s390.c (set_highgprs_p): New variable.
(s390_machinemode): New function.
(md_pseudo_table): Add new pseudo command machinemode.
(md_parse_option): Set set_highgprs_p to TRUE if -mzarch was
specified on command line.
(s390_elf_final_processing): Set the highgprs flag in the ELF
header depending on set_highgprs_p.

* doc/c-s390.texi: Document new pseudo machinemode.

12 years agoAdd .got.plt output section statement
H.J. Lu [Thu, 6 Sep 2012 04:46:18 +0000 (04:46 +0000)]
Add .got.plt output section statement

* testsuite/script_test_3.t: Add .got.plt output section
statement.
* testsuite/script_test_4.t: Likewise.

12 years agodaily update
Alan Modra [Thu, 6 Sep 2012 00:00:05 +0000 (00:00 +0000)]
daily update

12 years ago*** empty log message ***
gdbadmin [Thu, 6 Sep 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

12 years ago * gdb.base/info-macros.c: Fix whitespace.
Doug Evans [Wed, 5 Sep 2012 18:20:53 +0000 (18:20 +0000)]
* gdb.base/info-macros.c: Fix whitespace.

12 years ago * doc/as.texinfo: Document -mvle.
James Lemke [Wed, 5 Sep 2012 18:19:55 +0000 (18:19 +0000)]
    * doc/as.texinfo: Document -mvle.
Missed with the original port commit.
Committed as obvious / trivial.

12 years ago* gas/doc/c-ppc.texi: Document -mvle.
James Lemke [Wed, 5 Sep 2012 18:01:00 +0000 (18:01 +0000)]
* gas/doc/c-ppc.texi: Document -mvle.
This was missing from the initial VLE port commit.
Committed as obvious / trivial.

12 years ago * powerpc.cc (Powerpc_relocate_functions): Upcase enum values,
Alan Modra [Wed, 5 Sep 2012 11:27:14 +0000 (11:27 +0000)]
* powerpc.cc (Powerpc_relocate_functions): Upcase enum values,
update all uses and lose "enum" when using type.

12 years ago * configure.ac (FN_PTRS_IN_SO_WITHOUT_PIC): False for powerpc.
Alan Modra [Wed, 5 Sep 2012 11:01:43 +0000 (11:01 +0000)]
* configure.ac (FN_PTRS_IN_SO_WITHOUT_PIC): False for powerpc.
* configure: Regenerate.
* testsuite/Makefile.am (final_layout.stdout): Pass --synthetic to nm.
(plugin_final_layout.stdout): Likewise.
(memory_test): Set page sizes to 0x1000.
* testsuite/Makefile.in: Regenerate.
* testsuite/discard_locals_test.sh: Add FIXME comment.
* testsuite/justsyms_exec.c: Disable function test for powerpc64.
* testsuite/pr14265.t: Add .got output section statement.
* testsuite/script_test_2.t: Likewise.
* testsuite/script_test_3.t: Likewise.
* testsuite/script_test_4.t: Likewise.
* testsuite/script_test_5.t: Likewise.
* testsuite/script_test_6.t: Likewise.
* testsuite/script_test_7.t: Likewise.
* testsuite/script_test_9.t: Likewise.

12 years ago * powerpc.cc (Powerpc_relobj::get_opd_ent): Make const.
Alan Modra [Wed, 5 Sep 2012 02:54:26 +0000 (02:54 +0000)]
* powerpc.cc (Powerpc_relobj::get_opd_ent): Make const.
(Powerpc_relocate_functions::Status): New typedef.
(Target_powerpc::Scan::get_reference_flags): Handle more relocs.
(Target_powerpc::Scan::local): Handle REL64.
(Target_powerpc::Scan::global): Likewise, and dynamic relocs
for REL32 and REL64.
(Target_powerpc::symval_for_branch): New function, extracted from..
(Target_powerpc::Relocate::relocate): ..here.  Correct plt call
checks.  Report overflow errors.

12 years ago * object.h (Sized_relobj_file::emit_relocs): Delete.
Alan Modra [Wed, 5 Sep 2012 00:34:20 +0000 (00:34 +0000)]
* object.h (Sized_relobj_file::emit_relocs): Delete.
(Sized_relobj_file::emit_relocs_reltype): Delete.
* reloc.cc (Sized_relobj_file::do_relocate_sections): Call target
relocate_relocs for --emit-relocs.
(Sized_relobj_file::emit_relocs, emit_relocs_reltype): Delete.
* output.h: Update comment.
(Output_segment::first_section): New function.
(Output_segment::first_section_load_address): Use first_section.
* output.cc (Output_segment::first_section): New function extracted..
(Output_segment::first_section_load_address): ..from here.  Delete.
* target-reloc.h (relocate_for_relocatable): Rename to relocate_relocs.
* target.h (Sized_target::relocate_for_relocatable): Likewise.
* arm.cc (Target_arm::relocate_for_relocatable): Likewise, and
adjust call to target.h function.
* i386.cc (Target_i386): Likewise.
* sparc.cc (Target_sparc): Likewise.
* x86_64.cc (Target_x86_64): Likewise.
* powerpc.cc (Target_powerpc): Likewise.
(Target_powerpc::Scan::local, global): Handle R_POWERPC_TLS.  Ensure
first tls section has section symbol for optimised local dynamic
output relocs.
(Target_powerpc::Relocate::relocate): Correct local dynamic value.
(Target_powerpc::relocate_relocs): Adjust relocs emitted for
optimised tls code.
* testsuite/testfile.cc (Target_test::relocate_for_relocatable):
Rename to relocate_relocs.  Update error message.

12 years agodaily update
Alan Modra [Wed, 5 Sep 2012 00:00:04 +0000 (00:00 +0000)]
daily update

12 years ago*** empty log message ***
gdbadmin [Wed, 5 Sep 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

12 years ago * linux-crisv32-low.c: Fix compile errors.
Hans-Peter Nilsson [Tue, 4 Sep 2012 23:54:41 +0000 (23:54 +0000)]
* linux-crisv32-low.c: Fix compile errors.

12 years ago2012-09-03 Joel Sherrill <joel.sherrill@oarcorp.com>
Joel Sherrill [Tue, 4 Sep 2012 21:40:46 +0000 (21:40 +0000)]
2012-09-03 Joel Sherrill <joel.sherrill@oarcorp.com>

* configure.ac: Always link against dv-sockser.o.
* configure: Regenerate.

12 years agoAdd Intel Itanium Series 9500 support
H.J. Lu [Tue, 4 Sep 2012 13:52:06 +0000 (13:52 +0000)]
Add Intel Itanium Series 9500 support

bfd/

2012-09-04  Sergey A. Guriev <sergey.a.guriev@intel.com>

* cpu-ia64-opc.c (ins_cnt6a): New function.
(ext_cnt6a): Ditto.
(ins_strd5b): Ditto.
(ext_strd5b): Ditto.
(elf64_ia64_operands): Add new operand types.

gas/

2012-09-04  Sergey A. Guriev  <sergey.a.guriev@intel.com>

* config/tc-ia64.c (reg_symbol): Add a new register.
(indirect_reg): Ditto.
(pseudo_func): Add new symbolic constants.
(operand_match): Add new operand types recognition.
(operand_insn): Add new register recognition.
(md_begin): Add new register definition.
(specify_resource): Add new register recognition.

gas/testsuite/

2012-09-04  Sergey A. Guriev  <sergey.a.guriev@intel.com>

* gas/testsuite/gas/ia64/psn.d: New file.
* gas/testsuite/gas/ia64/psn.s: New file.
* gas/testsuite/gas/ia64/ia64.exp: Add new testcase.
* gas/testsuite/gas/ia64/opc-i.d: Fixed failing tests.
* gas/testsuite/gas/ia64/opc-m.d: Ditto.

include/opcode/

2012-09-04  Sergey A. Guriev <sergey.a.guriev@intel.com>

* ia64.h (ia64_opnd): Add new operand types.

opcodes/

2012-09-04  Sergey A. Guriev <sergey.a.guriev@intel.com>

* ia64-asmtab.h (completer_index): Extend bitfield to full uint.
* ia64-gen.c: Promote completer index type to longlong.
(irf_operand): Add new register recognition.
(in_iclass_mov_x): Add an entry for the new mov_* instruction type.
(lookup_specifier): Add new resource recognition.
(insert_bit_table_ent): Relax abort condition according to the
changed completer index type.
(print_dis_table): Fix printf format for completer index.
* ia64-ic.tbl: Add a new instruction class.
* ia64-opc-i.c (ia64_opcodes_i): Define new I-instructions.
* ia64-opc-m.c (ia64_opcodes_m): Define new M-instructions.
* ia64-opc.h: Define short names for new operand types.
* ia64-raw.tbl: Add new RAW resource for DAHR register.
* ia64-waw.tbl: Add new WAW resource for DAHR register.
* ia64-asmtab.c: Regenerate.

12 years agoIgnore section symbols without a BFD section
H.J. Lu [Tue, 4 Sep 2012 12:35:35 +0000 (12:35 +0000)]
Ignore section symbols without a BFD section

bfd/

PR binutils/14493
* elf.c (ignore_section_sym): Also ignore section symbols without
a BFD section.

binutils/

PR binutils/14493
* readelf.c (get_symbol_index_type): Check bad section index.

12 years ago* powerpc.cc (do_make_elf_object): Allow ET_EXEC files with
Andreas Schwab [Tue, 4 Sep 2012 08:04:31 +0000 (08:04 +0000)]
* powerpc.cc (do_make_elf_object): Allow ET_EXEC files with
--just-symbols.

12 years agogdb/gdbserver/
Yao Qi [Tue, 4 Sep 2012 01:47:49 +0000 (01:47 +0000)]
gdb/gdbserver/
* tracepoint.c (cmd_qtsv): Adjust debug message.
Don't check CUR_TPOINT.

12 years agodaily update
Alan Modra [Tue, 4 Sep 2012 00:00:05 +0000 (00:00 +0000)]
daily update

12 years ago*** empty log message ***
gdbadmin [Tue, 4 Sep 2012 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***

12 years ago2012-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Andreas Krebbel [Mon, 3 Sep 2012 12:03:48 +0000 (12:03 +0000)]
2012-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* elf32-s390.c (elf_s390_relocate_section): Handle PLTOFF for
local and global ifunc symbols.
* elf64-s390.c (elf_s390_relocate_section): Likewise.

12 years ago PR sim/14540
Nick Clifton [Mon, 3 Sep 2012 10:13:11 +0000 (10:13 +0000)]
PR sim/14540
* armsupp.c (ARMul_MRC): Return 0 if access to the MRC instruction
is denied.

12 years agodaily update
Alan Modra [Mon, 3 Sep 2012 00:00:04 +0000 (00:00 +0000)]
daily update

12 years ago*** empty log message ***
gdbadmin [Mon, 3 Sep 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***

12 years ago2012-09-02 Khoo Yit Phang <khooyp@cs.umd.edu>
Yit Phang Khoo [Sun, 2 Sep 2012 22:57:43 +0000 (22:57 +0000)]
2012-09-02  Khoo Yit Phang  <khooyp@cs.umd.edu>

Do not enable -lmcheck by default when Python is enabled with
threading support.
* configure.ac: (python_has_threads) New variable, by testing
if WITH_THREAD is defined in Python.h.
Move --enable-lmcheck after --with-python.
Do not enable -lmcheck by default if python_has_threads=yes.
Warn if --enable-lmcheck and python_has_threads=yes.
* configure: Regenerate.

12 years agoAdd hdynamic to elf_link_hash_table for _DYNAMIC
H.J. Lu [Sun, 2 Sep 2012 12:17:27 +0000 (12:17 +0000)]
Add hdynamic to elf_link_hash_table for _DYNAMIC

* elf-bfd.h (elf_link_hash_table): Add hdynamic for the
_DYNAMIC symbol.

* elflink.c (_bfd_elf_link_create_dynamic_sections): Set
hdynamic.

* elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_symbol): Check
hdynamic instead of "_DYNAMIC".
* elf32-arm.c (elf32_arm_finish_dynamic_symbol): Likewise.
* elf32-cr16.c (elf32_arm_finish_dynamic_symbol): Likewise.
* elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
* elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
* elf32-i386.c (elf_i386_convert_mov_to_lea): Likewise.
* elf32-lm32.c (lm32_elf_finish_dynamic_symbol): Likewise.
* elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
* elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
* elf32-sh.c (sh_elf_finish_dynamic_symbol): Likewise.
* elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
* elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise.
* elf32-vax.c (elf_vax_finish_dynamic_symbol): Likewise.
* elf32-xtensa.c (elf_xtensa_finish_dynamic_symbol): Likewise.
* elf64-aarch64.c elf64_aarch64_finish_dynamic_symbol(): Likewise.
* elf64-alpha.c (elf64_alpha_finish_dynamic_symbol): Likewise.
* elf64-ia64-vms.c (elf64_ia64_finish_dynamic_symbol): Likewise.
* elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
* elf64-sh64.c (sh64_elf64_finish_dynamic_symbol): Likewise.
* elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
* elfnn-ia64.c (elfNN_ia64_finish_dynamic_symbol): Likewise.
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
* elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise.

* elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Check
hdynamic, hgot, hplt instead of _DYNAMIC, _GLOBAL_OFFSET_TABLE_,
_PROCEDURE_LINKAGE_TABLE_.
* elf32-score.c (s3_bfd_score_elf_finish_dynamic_symbol): Likewise.
* elf32-score7.c (s7_bfd_score_elf_finish_dynamic_symbol): Likewise.

12 years ago*** empty log message ***
gdbadmin [Sun, 2 Sep 2012 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***

12 years agodaily update
Alan Modra [Sun, 2 Sep 2012 00:00:04 +0000 (00:00 +0000)]
daily update

12 years ago PR gas/14521
Hans-Peter Nilsson [Sat, 1 Sep 2012 18:10:50 +0000 (18:10 +0000)]
PR gas/14521
* config/tc-mmix.h (tc_frob_file_before_fix): Renumber sections
after call to mmix_frob_file.

12 years ago PR gas/14521
Hans-Peter Nilsson [Sat, 1 Sep 2012 18:09:26 +0000 (18:09 +0000)]
PR gas/14521
* gas/mmix/group-1.d, gas/mmix/group-1.s: New test.

12 years ago2012-08-30 Khoo Yit Phang <khooyp@cs.umd.edu>
Yit Phang Khoo [Sat, 1 Sep 2012 03:14:15 +0000 (03:14 +0000)]
2012-08-30  Khoo Yit Phang  <khooyp@cs.umd.edu>

* MAINTAINERS (Write After Approval): Add "Khoo Yit Phang".

12 years agoDon't optimize relocation against _DYNAMIC
H.J. Lu [Sat, 1 Sep 2012 02:50:14 +0000 (02:50 +0000)]
Don't optimize relocation against _DYNAMIC

bfd/

* elf32-i386.c (elf_i386_convert_mov_to_lea): Don't optimize
_DYNAMIC.
* elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.

ld/testsuite/

* ld-i386/i386.exp: Run mov1a, mov1b.
* ld-x86-64/x86-64.exp: Run mov1a, mov1b, mov1c, mov1d.

* ld-i386/mov1.s: New file.
* ld-i386/mov1a.d: Likewise.
* ld-i386/mov1b.d: Likewise.
* ld-x86-64/mov1.s: Likewise.
* ld-x86-64/mov1a.d: Likewise.
* ld-x86-64/mov1b.d: Likewise.
* ld-x86-64/mov1c.d: Likewise.
* ld-x86-64/mov1d.d: Likewise.

12 years ago*** empty log message ***
gdbadmin [Sat, 1 Sep 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

12 years agodaily update
Alan Modra [Sat, 1 Sep 2012 00:00:05 +0000 (00:00 +0000)]
daily update

12 years agoConvert mov to lea in size_dynamic_sections
H.J. Lu [Fri, 31 Aug 2012 20:41:41 +0000 (20:41 +0000)]
Convert mov to lea in size_dynamic_sections

bfd/

* elf32-i386.c (elf_i386_convert_mov_to_lea): New.
(elf_i386_size_dynamic_sections): Use it on input sections.
(elf_i386_relocate_section): Don't convert
"mov foo@GOT(%reg), %reg" to "lea foo@GOTOFF(%reg), %reg"
for local symbols here.

* elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): New.
(elf_x86_64_size_dynamic_sections): Use it on input sections.
(elf_x86_64_relocate_section): Don't convert
"mov foo@GOTPCREL(%rip), %reg" to "lea foo@GOTOFF(%reg), %reg"
for local symbols.

ld/testsuite/

* ld-i386/i386.exp: Run lea1d, lea1f, lea1f.
* ld-x86-64/x86-64.exp: Run lea1g, lea1h, lea1i, lea1j, lea1k,
lea1l.

* ld-ifunc/ifunc-13-i386.d: Remove R_386_RELATIVE entry.

* ld-i386/lea1d.d: New file.
* ld-i386/lea1e.d: Likewise.
* ld-i386/lea1f.d: Likewise.
* ld-x86-64/lea1g.d: Likewise.
* ld-x86-64/lea1h.d: Likewise.
* ld-x86-64/lea1i.d: Likewise.
* ld-x86-64/lea1j.d: Likewise.
* ld-x86-64/lea1k.d: Likewise.
* ld-x86-64/lea1l.d: Likewise.

12 years ago * doc/c-mips.texi (MIPS Opts): Correct a typo in the -mips5
Maciej W. Rozycki [Fri, 31 Aug 2012 19:15:59 +0000 (19:15 +0000)]
* doc/c-mips.texi (MIPS Opts): Correct a typo in the -mips5
option.

12 years agogdb/
Yao Qi [Fri, 31 Aug 2012 08:41:57 +0000 (08:41 +0000)]
gdb/
* mi/mi-cmds.c (mi_cmds): New macros DEF_MI_CMD_CLI
DEF_MI_CMD_MI DEF_MI_CMD_CLI_1 and DEF_MI_CMD_CLI_1.
Update some commands.
* mi/mi-cmds.h (struct mi_cmd) <suppress_notification>: New field.
* mi/mi-main.c (mi_cmd_execute): Set '*parse->cmd->suppress_notification'
to 1.

12 years agogdb/
Yao Qi [Fri, 31 Aug 2012 08:30:38 +0000 (08:30 +0000)]
gdb/
* mi/mi-cmds.c (mi_cmds): Add 'static'.

12 years agoConvert mov to lea for loading local function address
H.J. Lu [Fri, 31 Aug 2012 04:26:17 +0000 (04:26 +0000)]
Convert mov to lea for loading local function address

bfd/

* elf32-i386.c (elf_i386_relocate_section): Convert
"mov foo@GOT(%reg), %reg" to "lea foo@GOTOFF(%reg), %reg"
for local symbols.

* elf64-x86-64.c (elf_x86_64_relocate_section): Convert
"mov foo@GOTPCREL(%rip), %reg" to "lea foo(%rip), %reg"
for local symbols.

ld/testsuite/

* ld-i386/i386.exp: Run lea1a, lea1b, lea1c.
* ld-x86-64/x86-64.exp: Run lea1a, lea1b, lea1c, lea1d, lea1e,
lea1f.

* ld-i386/lea1.s: New file.
* ld-i386/lea1a.d: Likewise.
* ld-i386/lea1b.d: Likewise.
* ld-i386/lea1c.d: Likewise.
* ld-x86-64/lea1.s: Likewise.
* ld-x86-64/lea1a.d: Likewise.
* ld-x86-64/lea1b.d: Likewise.
* ld-x86-64/lea1c.d: Likewise.
* ld-x86-64/lea1d.d: Likewise.
* ld-x86-64/lea1e.d: Likewise.
* ld-x86-64/lea1f.d: Likewise.

12 years agoProvide __executable_start for PIE
H.J. Lu [Fri, 31 Aug 2012 02:52:14 +0000 (02:52 +0000)]
Provide __executable_start for PIE

ld/

PR ld/14525
* scripttempl/elf.sc: Also provide __executable_start for PIE.

ld/testsuite/

PR ld/14525
* ld-elf/elf.exp: Run pr14525.

* ld-elf/pr14525.c: New.
* ld-elf/pr14525.out: Likewise.

12 years ago PR ld/14464
Alan Modra [Fri, 31 Aug 2012 02:42:57 +0000 (02:42 +0000)]
PR ld/14464
* elf64-ppc.c (ppc64_elf_relocate_section): Map symbols defined
by a linker script in .opd to corresponding input .opd section.

12 years ago * powerpc.cc (Powerpc_relobj): Add and use Address typedef.
Alan Modra [Fri, 31 Aug 2012 01:09:52 +0000 (01:09 +0000)]
* powerpc.cc (Powerpc_relobj): Add and use Address typedef.
(Powerpc_relobj::toc_base_offset): New stub function.
(Target_powerpc): Add tp_offset, dtp_offset.  Rename
got_mod_index_offset to tlsld_got_offset.  Update all refs.
(Target_powerpc::Relocate::enum skip_tls): New.
(Target_powerpc::call_tls_get_addr_): New var.
(Target_powerpc::is_branch_reloc): Move to file scope.
(Target_powerpc::relocate_tls, optimize_tls_reloc): Delete.
(Target_powerpc::optimize_tls_gd, optimize_tls_ld, optimize_tls_ie):
New functions.
(Target_powerpc::enum Got_type): Delete old values, add new ones.
(powerpc_info): Correct common_pagesize for ppc64.
(at_tls_transform, needs_dynamic_reloc, use_plt_offset): New functions.
(Powerpc_relocate_functions): Add overflow check enums and functions.
Add non-shift version of rela, rela_ua.  Delete all rel public
functions.  Delete addr16_lo.  Add addr64, addr64_u, addr32,
addr32_u, addr24, addr16_u, addr16_hi2, addr16_ha2, addr16_hi3,
addr16_ha3, addr14 functions.
(Output_data_got_powerpc::add_constant_pair): New function.
(Output_data_got_powerpc::got_base_offset): Likewise.
(Output_data_got_powerpc::do_write): Correct 64-bit got header.
(instruction constants): Sort, add some more.
(Output_data_glink::do_write): Add and use Address typedef.  Use
object->toc_base_offset() stub for 64-bit.
(Target_powerpc::tlsld_got_offset): Use add_constant_pair.
(Target_powerpc::Scan::get_reference_flags): Handle more relocs.
(Target_powerpc::Scan::local, global): Emit relative dynamic reloc
for R_PPC64_TOC.  Handle more relocs.  Generate got entries for TLS.
Always treat .opd relocs as against locally defined symbol.
Correct condition for RELATIVE relocs.
(Target_powerpc::do_finalize_sections): Test for NULL sections.
(Target_powerpc::Relocate::relocate): Use plt call stub as value
for 32-bit syms with a plt entry.  Correct ppc64 toc base
calculations.  Handle TLS relocs, and more.  Add overflow
checking and adjust for Powerpc_relocate_functions changes.
(Target_powerpc::relocate_for_relocatable): Handle zero r_sym.
Reinstate --emit-relocs code with FIXME.

12 years agodaily update
Alan Modra [Fri, 31 Aug 2012 00:00:04 +0000 (00:00 +0000)]
daily update

12 years ago*** empty log message ***
gdbadmin [Fri, 31 Aug 2012 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***

12 years agoAdd "Khoo Yit Phang" to gdb/MAINTAINERS.
Yit Phang Khoo [Thu, 30 Aug 2012 18:59:53 +0000 (18:59 +0000)]
Add "Khoo Yit Phang" to gdb/MAINTAINERS.

12 years agosim: cr16: update syscall list
Mike Frysinger [Thu, 30 Aug 2012 07:05:19 +0000 (07:05 +0000)]
sim: cr16: update syscall list

12 years agosim: cr16: improve trap handling
Mike Frysinger [Thu, 30 Aug 2012 06:10:28 +0000 (06:10 +0000)]
sim: cr16: improve trap handling

12 years agosim: cr16: add sim_complete_command stub
Mike Frysinger [Thu, 30 Aug 2012 06:09:45 +0000 (06:09 +0000)]
sim: cr16: add sim_complete_command stub

12 years ago * layout.cc (Layout::set_segment_offsets): Set p_align to
Alan Modra [Thu, 30 Aug 2012 05:57:05 +0000 (05:57 +0000)]
* layout.cc (Layout::set_segment_offsets): Set p_align to
abi_pagesize, not common_pagesize.
(Layout::relaxation_loop_body): Similarly use abi_pagesize
to determine whether file header can go in segment.

12 years ago * output.h (Output_reloc::Output_reloc <output section>): Add
Alan Modra [Thu, 30 Aug 2012 05:54:59 +0000 (05:54 +0000)]
* output.h (Output_reloc::Output_reloc <output section>): Add
is_relative param.  Adjust calls.
(Output_reloc::add_output_section_relative): New functions.
* output.cc (Output_reloc::Output_reloc <output section>): Handle
is_relative.
(Output_reloc::symbol_value): Handle SECTION_CODE.

12 years ago*** empty log message ***
gdbadmin [Thu, 30 Aug 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

12 years agodaily update
Alan Modra [Thu, 30 Aug 2012 00:00:04 +0000 (00:00 +0000)]
daily update

12 years ago * ppc-opc.c (VXASHB_MASK): New define.
Peter Bergner [Wed, 29 Aug 2012 22:34:04 +0000 (22:34 +0000)]
* ppc-opc.c (VXASHB_MASK): New define.
(powerpc_opcodes) <vsldoi>: Use VXASHB_MASK.

12 years ago * main.c (print_gdb_help): Remove reference to
Doug Evans [Wed, 29 Aug 2012 19:17:16 +0000 (19:17 +0000)]
* main.c (print_gdb_help): Remove reference to
--use-deprecated-index-sections.

12 years agoReplace malloc with xmalloc
H.J. Lu [Wed, 29 Aug 2012 01:02:41 +0000 (01:02 +0000)]
Replace malloc with xmalloc

* argv.c (dupargv): Replace malloc with xmalloc.  Don't check
xmalloc return.
(buildargv): Likewise.  Also replace strdup with xstrdup.
(expandargv): Don't check dupargv return.

12 years agoReplace alloca with xmalloc/free
H.J. Lu [Wed, 29 Aug 2012 00:45:49 +0000 (00:45 +0000)]
Replace alloca with xmalloc/free

PR binutils/14526
* argv.c (buildargv): Replace alloca with xmalloc/free.

12 years ago*** empty log message ***
gdbadmin [Wed, 29 Aug 2012 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***

12 years agodaily update
Alan Modra [Wed, 29 Aug 2012 00:00:05 +0000 (00:00 +0000)]
daily update

12 years ago * ld-elf/export-class.sd: New test.
Maciej W. Rozycki [Tue, 28 Aug 2012 20:29:19 +0000 (20:29 +0000)]
* ld-elf/export-class.sd: New test.
* ld-elf/export-class.vd: New test.
* ld-elf/export-class-def.s: New test source.
* ld-elf/export-class-dep.s: New test source.
* ld-elf/export-class-lib.s: New test source.
* ld-elf/export-class-ref.s: New test source.
* ld-elf/export-class-lib.ver: New test version script.
* ld-elf/export-class.exp: New test script.
* ld-arm/arm-export-class.rd: New test.
* ld-arm/arm-export-class.xd: New test.
* ld-arm/export-class.exp: New test script.
* ld-i386/i386-export-class.rd: New test.
* ld-i386/i386-export-class.xd: New test.
* ld-i386/export-class.exp: New test script.
* ld-mips-elf/mips-32-export-class.rd: New test.
* ld-mips-elf/mips-32-export-class.xd: New test.
* ld-mips-elf/mips-64-export-class.rd: New test.
* ld-mips-elf/mips-64-export-class.xd: New test.
* ld-mips-elf/export-class.exp: New test script.
* ld-powerpc/powerpc-32-export-class.rd: New test.
* ld-powerpc/powerpc-32-export-class.xd: New test.
* ld-powerpc/powerpc-64-export-class.rd: New test.
* ld-powerpc/powerpc-64-export-class.xd: New test.
* ld-powerpc/export-class.exp: New test script.
* ld-x86-64/x86-64-64-export-class.rd: New test.
* ld-x86-64/x86-64-x32-export-class.rd: New test.
* ld-x86-64/export-class.exp: New test script.

12 years ago * elf32-ppc.c (ppc_elf_relocate_section): Assert that dynindx is
Maciej W. Rozycki [Tue, 28 Aug 2012 20:17:56 +0000 (20:17 +0000)]
* elf32-ppc.c (ppc_elf_relocate_section): Assert that dynindx is
not minus one.
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.

12 years ago * elflink.c (_bfd_elf_merge_symbol): Also override the version
Maciej W. Rozycki [Tue, 28 Aug 2012 20:13:27 +0000 (20:13 +0000)]
* elflink.c (_bfd_elf_merge_symbol): Also override the version
a dynamic symbol defaulted to if preempted with a hidden or
internal definition.

12 years agogdb/gdbserver/
Yao Qi [Tue, 28 Aug 2012 16:53:30 +0000 (16:53 +0000)]
gdb/gdbserver/
* ax.c, tracepoint.c: Replace ATTR_FORMAT with ATTRIBUTE_PRINTF.
* server.h: Include 'libiberty.h' and 'ansidecl.h'.
(ATTR_NORETURN, ATTR_FORMAT, ATTR_MALLOC): Remove.
Remove declarations of xmalloc, xreallloc, xstrdup and
freeargv.
* Makefile.in (libiberty_h): New.
(server_h): Append dependencies 'libiberty.h' and 'ansidecl.h'.
(linux-bfin-low.o): Append dependency 'libiberty.h'.

12 years ago * ppc-opc.c (UIMM4, UIMM3, UIMM2, VXVA_MASK, VXVB_MASK, VXVAVB_MASK,
Peter Bergner [Tue, 28 Aug 2012 16:41:07 +0000 (16:41 +0000)]
* ppc-opc.c (UIMM4, UIMM3, UIMM2, VXVA_MASK, VXVB_MASK, VXVAVB_MASK,
VXVDVA_MASK, VXUIMM4_MASK, VXUIMM3_MASK, VXUIMM2_MASK): New defines.
(powerpc_opcodes) <vexptefp, vlogefp, vrefp, vrfim, vrfin, vrfip,
vrfiz, vrsqrtefp, vupkhpx, vupkhsb, vupkhsh, vupklpx, vupklsb,
vupklsh>: Use VXVA_MASK.
<vspltisb, vspltish, vspltisw>: Use VXVB_MASK.
<mfvscr>: Use VXVAVB_MASK.
<mtvscr>: Use VXVDVA_MASK.
<vspltb>: Use VXUIMM4_MASK.
<vsplth>: Use VXUIMM3_MASK.
<vspltw>: Use VXUIMM2_MASK.

12 years agogdb/
Yao Qi [Tue, 28 Aug 2012 14:08:42 +0000 (14:08 +0000)]
gdb/
* cli/cli-cmds.c (max_user_call_depth): Add 'unsigned'.
(init_cmds): Call add_setshow_uinteger_cmd for command
'max-user-call-depth'.
* cli/cli-script.c (execute_user_command): Add 'unsigned' to the
declaration of 'max_user_call_depth'.
* frame.c (backtrace_limit): Add 'unsigned'.
(_initialize_frame): Call add_setshow_uinteger_cmd for command
'limit'.
* remote.c (remoteaddresssize): Add 'unsigned'.
(remote_address_masked): Change local var 'address_size' to
'unsigned'.
(_initialize_remote): Call add_setshow_uinteger_cmd for
'remoteaddresssize'.
* top.c (history_size): Add 'unsigned'.
(show_commands): Change local variables to 'unsigned'.
(set_history_size_command): Don't check history_size is negative.
Adjust the condition to call unstifle_history and set history_size
to UNIT_MAX.

12 years ago2012-08-28 Pedro Alves <palves@redhat.com>
Pedro Alves [Tue, 28 Aug 2012 09:05:35 +0000 (09:05 +0000)]
2012-08-28  Pedro Alves  <palves@redhat.com>

PR gdb/14428

gdb/
* infcmd.c (default_print_one_register_info): New, factored out
from default_print_registers_info.
(default_print_registers_info): Use it.  Mark value unavailable if
necessary.
(registers_info): Print user registers with
default_print_one_register_info.

gdb/testsuite/
* gdb.base/pc-fp.exp: Adjust expected output of 'info registers pc fp'.

12 years agoAdd padding to the plt section so that its size is a multiple of its
Walter Lee [Tue, 28 Aug 2012 06:28:31 +0000 (06:28 +0000)]
Add padding to the plt section so that its size is a multiple of its
entry size.
* elf32-tilepro.c (allocate_dynrelocs): Use PLT_ENTRY_SIZE as size
of header.
(tilepro_plt_entry_build): Account for new header size.
(tilepro_elf_finish_dynamic_sections): Ditto.
(tilepro_elf_plt_sym_val): Ditto.
* elfxx-tilegx.c (allocate_dynrelocs): Use PLT_ENTRY_SIZE as size
of header + tail.
(tilegx_elf_finish_dynamic_sections): Account for new padding.

12 years agoAdd support for constructing pc-relative addresses to the plt, by
Walter Lee [Tue, 28 Aug 2012 02:43:22 +0000 (02:43 +0000)]
Add support for constructing pc-relative addresses to the plt, by
adding the necessary assembly operators and relocations.

bfd:
* reloc.c (Add BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL,
BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL): new relocations.
* elfxx-tilegx.c (tilegx_elf_howto_table): Handle new relocations.
(tilegx_reloc_map): Ditto.
(reloc_to_create_func): Ditto.
(tilegx_elf_check_relocs): Ditto.
(tilegx_elf_gc_sweep_hook): Ditto.
(tilegx_elf_relocate_section): Ditto.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.

gas:
* tc-tilegx.c (O_hw0_plt): Define operator.
(O_hw1_plt): Ditto.
(O_hw1_last_plt): Ditto.
(O_hw2_last_plt): Ditto.
(md_begin): Handle new operators.
(emit_tilegx_instruction): Ditto.
(md_apply_fix): Ditto.
* doc/c-tilegx.texi: Document new operators.

include/elf:
* tilegx.h (R_TILEGX_IMM16_X0_HW0_PLT_PCREL): New relocation.
(R_TILEGX_IMM16_X1_HW0_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW1_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW1_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW2_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW2_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW3_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW3_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL): Ditto.
(R_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL ): Ditto.
(R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL): Ditto.