Tom Tromey [Fri, 7 Aug 2009 17:10:43 +0000 (17:10 +0000)]
* elf32-microblaze.c (microblaze_elf_check_relocs): Avoid strict
aliasing error.
Michael Eager [Fri, 7 Aug 2009 12:12:52 +0000 (12:12 +0000)]
Mention MicroBlaze.
Alan Modra [Fri, 7 Aug 2009 06:26:33 +0000 (06:26 +0000)]
missed from last commit
gdbadmin [Fri, 7 Aug 2009 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 7 Aug 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Paul Pluzhnikov [Thu, 6 Aug 2009 23:25:49 +0000 (23:25 +0000)]
2009-08-06 Paul Pluzhnikov <ppluzhnikov@google.com>
gold/10400
* dwarf2-frame.c (qsort_fde_cmp): Use stable sort.
Paul Pluzhnikov [Thu, 6 Aug 2009 23:19:47 +0000 (23:19 +0000)]
2009-08-06 Paul Pluzhnikov <ppluzhnikov@google.com>
* dwarf2-frame.c (struct dwarf2_cie): Remove 'next'.
(struct dwarf2_cie_table): New.
(struct dwarf2_fde): Remove 'next'.
(struct dwarf2_fde_table): New.
(struct comp_unit): Remove 'cie'.
(bsearch_cie_cmp, bsearch_fde_cmp): New function.
(find_cie, dwarf2_frame_find_fde): Use bsearch.
(add_cie, add_fde): Use array instead of linked list.
(decode_frame_entry, decode_frame_entry_1): New parameters.
(qsort_fde_cmp): New function.
(dwarf2_build_frame_info): Adjust.
Nick Roberts [Thu, 6 Aug 2009 23:08:16 +0000 (23:08 +0000)]
(Server Prefix): Explain that server prefix suppresses
confirmation request.
Nick Roberts [Thu, 6 Aug 2009 23:06:54 +0000 (23:06 +0000)]
*** empty log message ***
Nick Clifton [Thu, 6 Aug 2009 17:46:43 +0000 (17:46 +0000)]
* configure.ac: Add Microblaze target.
* configure: Regenerate.
Nick Clifton [Thu, 6 Aug 2009 17:38:04 +0000 (17:38 +0000)]
Add support for Xilinx MicroBlaze processor.
* bfd/Makefile.am: Add cpu-microblaze.{lo,c}, elf32-microblaze.{lo,c}.
* bfd/Makefile.in: Same.
* bfd/archures.c: Add bfd_arch_microblaze.
* bfd/bfd-in2.h: Regenerate.
* bfd/config.bfd: Add microblaze target.
* bfd/configure: Add bfd_elf32_microblaze_vec target.
* bfd/configure.in: Same.
* bfd/cpu-microblaze.c: New.
* bfd/elf32-microblaze.c: New.
* bfd/libbfd-in.h: Add prototype _bfd_dwarf2_fixup_section_debug_loc().
* bfd/libbfd.h: Regenerate.
* bfd/reloc.c: Add MICROBLAZE relocations.
* bfd/section.c: Add struct relax_table and relax_count to section.
* bfd/targets.c: Add bfd_elf32_microblaze_vec.
* binutils/MAINTAINERS: Add self as maintainer.
* binutils/readelf.c: Include elf/microblaze.h, add EM_MICROBLAZE &
EM_MICROBLAZE_OLD to guess_is_rela(), dump_relocations(),
get_machine_name().
* config.sub: Add microblaze target.
* configure: Same.
* configure.ac: Same.
* gas/Makefile.am: add microblaze to CPU_TYPES, config/tc-microblaze.c to
TARGET_CPU_CFILES, config/tc-microblaze.h to TARGET_CPU_HFILES, add
DEP_microblaze_elf target.
* gas/Makefile.in: Same.
* gas/config/tc-microblaze.c: Add MicroBlaze assembler.
* gas/config/tc-microblaze.h: Add header for tc-microblaze.c.
* gas/configure: Add microblaze target.
* gas/configure.in: Same.
* gas/configure.tgt: Same.
* gas/doc/Makefile.am: Add c-microblaze.texi to CPU_DOCS.
* gas/doc/Makefile.in: Same.
* gas/doc/all.texi: Set MICROBLAZE.
* gas/doc/as.texinfo: Add MicroBlaze doc links.
* gas/doc/c-microblaze.texi: New MicroBlaze docs.
* include/dis-asm.h: Decl print_insn_microblaze().
* include/elf/common.h: Define EM_MICROBLAZE & EM_MICROBLAZE_OLD.
* include/elf/microblaze.h: New reloc definitions.
* ld/Makefile.am: Add eelf32mb_linux.o, eelf32microblaze.o to
ALL_EMULATIONS, targets.
* ld/Makefile.in: Same.
* ld/configure.tgt: Add microblaze*-linux*, microblaze* targets.
* ld/emulparams/elf32mb_linux.sh: New.
* ld/emulparams/elf32microblaze.sh. New.
* ld/scripttempl/elfmicroblaze.sc: New.
* opcodes/Makefile.am: Add microblaze-opc.h to HFILES, microblaze-dis.c to
CFILES, microblaze-dis.lo to ALL_MACHINES, targets.
* opcodes/Makefile.in: Same.
* opcodes/configure: Add bfd_microblaze_arch target.
* opcodes/configure.in: Same.
* opcodes/disassemble.c: Define ARCH_microblaze, return
print_insn_microblaze().
* opcodes/microblaze-dis.c: New MicroBlaze disassembler.
* opcodes/microblaze-opc.h: New MicroBlaze opcode definitions.
* opcodes/microblaze-opcm.h: New MicroBlaze opcode types.
H.J. Lu [Thu, 6 Aug 2009 16:23:30 +0000 (16:23 +0000)]
Correct date.
H.J. Lu [Thu, 6 Aug 2009 16:22:36 +0000 (16:22 +0000)]
2009-08-03 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/10492
* binutils-all/objcopy.exp: Run strip-10.
* binutils-all/strip-10.d: New.
* binutils-all/unique.s: Likewise.
Jakub Jelinek [Thu, 6 Aug 2009 13:08:24 +0000 (13:08 +0000)]
PR binutils/10492
* elf.c (sym_is_global): Return true even for BSF_GNU_UNIQUE
symbols.
* elf32-mips.c (mips_elf_sym_is_global): Likewise.
* elfn32-mips.c (mips_elf_sym_is_global): Likewise.
Nathan Sidwell [Thu, 6 Aug 2009 13:05:24 +0000 (13:05 +0000)]
bfd/
* elf32-arm.c (elf32_arm_size_stubs): Call layout_sections_again
at least once when fixing cortex-a8.
ld/testsuite/
* ld-arm/arm-elf.exp: Add new test.
* ld-arm/cortex-a8-fix-hdr.d: New.
* ld-arm/cortex-a8-fix-hdr.s: New.
* ld-arm/cortex-a8-fix-hdr.t: New.
Don Lee [Thu, 6 Aug 2009 10:28:38 +0000 (10:28 +0000)]
* score-tdep.c: Support a new Sunplus CT S+core variant, S+core 3.
* score-tdep.h: Ditto.
* NEWS: Ditto.
* configure.tgt: Test do we have a simulator.
* MAINTAINERS: Add myself under target score
Nick Clifton [Thu, 6 Aug 2009 10:10:50 +0000 (10:10 +0000)]
* config/tc-arm.c (md_assemble): Call mapping_state from inside a
block in case it is a null macro.
Nick Roberts [Thu, 6 Aug 2009 08:19:58 +0000 (08:19 +0000)]
(defaulted_query): Don't ask for confirmation if server
prefix is used.
Nick Roberts [Thu, 6 Aug 2009 08:11:22 +0000 (08:11 +0000)]
*** empty log message ***
Alan Modra [Thu, 6 Aug 2009 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Thu, 6 Aug 2009 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Chao-ying Fu [Wed, 5 Aug 2009 21:24:21 +0000 (21:24 +0000)]
2009-08-05 Chao-ying Fu <fu@mips.com>
* gas/mips/jal-svr4pic.d, gas/mips/jal-xgot.d,
gas/mips/mips-abi32-pic2.d: Add R_MIPS_JALR relocations after jalr.
Chao-ying Fu [Wed, 5 Aug 2009 21:22:15 +0000 (21:22 +0000)]
2009-08-05 Chao-ying Fu <fu@mips.com>
* config/tc-mips.c (MIPS_JALR_HINT_P): New define. For IRIX, it is
true for new abi. For non-IRIX targets, it is always true.
(macro_build_jalr): If MIPS_JALR_HINT_P, emit BFD_RELOC_MIPS_JALR.
Chao-ying Fu [Wed, 5 Aug 2009 21:17:51 +0000 (21:17 +0000)]
2009-08-05 Chao-ying Fu <fu@mips.com>
* elf32-mips.c (mips_reloc_map): Add BFD_RELOC_MIPS_JALR.
* elfxx-mips.c (JAL_TO_BAL_P): New define to transform JAL to BAL
for CPUs. It is true for RM9000.
(JALR_TO_BAL_P): New define to transform JALR to BAL. It is true
for all CPUs.
(mips_elf_perform_relocation): Use JAL_TO_BAL_P and JALR_TO_BAL_P
to guard the transformation.
Sriraman Tallam [Wed, 5 Aug 2009 20:51:56 +0000 (20:51 +0000)]
*** empty log message ***
Trevor Smigiel [Wed, 5 Aug 2009 20:40:34 +0000 (20:40 +0000)]
bfd/
* elf32-spu.h (spu_elf_params): Add member emit_fixups.
(spu_elf_size_sections): Declare prototype.
* elf32-spu.c (spu_link_hash_table): Add member sfixup.
(FIXUP_RECORD_SIZE, FIXUP_GET, FIXUP_PUT): New macros.
(spu_elf_emit_fixup): New function.
(spu_elf_relocate_section): Emit fixup for each SPU_ADDR32.
(spu_elf_size_sections): New function.
ld/
* emulparams/elf32_spu.sh (OTHER_READONLY_SECTIONS): Add .fixup
section and __fixup_start symbol.
* emultempl/spuelf.em (params): Initialize emit_fixups member.
(spu_before_allocation): Call spu_elf_size_sections.
(OPTION_SPU_EMIT_FIXUPS): Define.
(PARSE_AND_LIST_LONGOPTS): Add --emit-fixups.
(PARSE_AND_LIST_ARGS_CASES): Handle --emit-fixups.
* ld.texinfo (--emit-fixups): Document.
ld/testsuite/
* ld-spu/fixup.d: New.
* ld-spu/fixup.s: New.
Eli Zaretskii [Wed, 5 Aug 2009 17:47:09 +0000 (17:47 +0000)]
* gdb.texinfo (Separate Debug Files, Remote Protocol): Clarified
CRC definitions.
Tom Tromey [Wed, 5 Aug 2009 15:11:45 +0000 (15:11 +0000)]
* spu-tdep.h (SPUADDR_SPU): Cast result to int.
Eric B. Weddington [Wed, 5 Aug 2009 12:47:33 +0000 (12:47 +0000)]
/gas:
2009-08-05 Eric B. Weddington <eric.weddington@atmel.com>
* config/tc-avr.c (mcu_types): Add attiny2313a, attiny4313, attiny261a,
attiny861a, atmega644pa, attiny24a, attiny44a.
* doc/c-avr.texi: Likewise.
Nathan Sidwell [Wed, 5 Aug 2009 12:36:14 +0000 (12:36 +0000)]
bfd/
* elf32-arm.c (elf32_arm_stub_type): Add arm_stub_a8_veneer_lwm.
(arm_build_one_stub): Build a8 veneers as a separate pass.
(cortex_a8_erratum_scan): Add prev_num_a8_fixes and stub_changed_p
parameters. Use them to check if we create a different a8 fixup
than the previous pass.
(elf32_arm_size_stubs): Move scope of stub_changed and
prev_num_a8_fixes into main loop.
(elf32_arm_build_stubs): Build a8 veneers in a second pass.
ld/testsuite/
* ld-arm/cortex-a8-far-1.s: New.
* ld-arm/cortex-a8-far-2.s: New.
* ld-arm/cortex-a8-far.d: New.
* ld-arm/arm-elf.exp: Add new test.
Sandra Loosemore [Wed, 5 Aug 2009 00:44:01 +0000 (00:44 +0000)]
2009-08-04 Sandra Loosemore <sandra@codesourcery.com>
gas/
* doc/c-mips.texi (MIPS Opts): List 1004K options for -march.
* config/tc-mips.c (mips_cpu_info_table): Add 1004K cores.
gdbadmin [Wed, 5 Aug 2009 00:00:35 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 5 Aug 2009 00:00:11 +0000 (00:00 +0000)]
daily update
Thiago Jung Bauermann [Tue, 4 Aug 2009 20:41:13 +0000 (20:41 +0000)]
2009-08-04 Thiago Jung Bauermann <thiago.bauermann@gmail.com>
gdb/
* linux-tdep.c (check_is_pie_binary,
_initialize_linux_tdep): New functions.
gdb/testsuite/
* gdb.base/pie-support.exp: New file.
* gdb.base/pie-support.c: New file.
Paul Pluzhnikov [Tue, 4 Aug 2009 18:46:05 +0000 (18:46 +0000)]
2009-08-04 Paul Pluzhnikov <ppluzhnikov@google.com>
* objfiles.h (OBJF_KEEPBFD): Delete.
(gdb_bfd_unref): New prototype.
* objfiles.c (gdb_bfd_unref): New function.
(free_objfile): Call gdb_bfd_unref.
* solib.c (free_so): Likewise.
(symbol_add_stub): Set refcount.
Michael Snyder [Tue, 4 Aug 2009 18:19:52 +0000 (18:19 +0000)]
2009-08-04 Hui Zhu <teawater@gmail.com>
Michael Snyder <msnyder@vmware.com>
* record.c (record_mem_entry): New field 'mem_entry_not_accessible'.
(record_arch_list_add_mem): Initialize 'mem_entry_not_accessible'.
(record_wait): Set 'mem_entry_not_accessible' flag if target
memory not readable. Don't try to change target memory if
'mem_entry_not_accessible' is set.
Nathan Sidwell [Tue, 4 Aug 2009 14:56:10 +0000 (14:56 +0000)]
* config/tc-arm.c (my_get_expression): Detect missing expressions.
testsuite/
* gas/arm/missing.s: New.
* gas/arm/missing.d: New.
* gas/arm/missing.l: New.
Alan Modra [Tue, 4 Aug 2009 08:15:24 +0000 (08:15 +0000)]
PR 10474
* emultempl/ppc32elf.em (ppc_before_allocation): Test rawsize,
not size, after lang_reset_memory_regions.
Alan Modra [Tue, 4 Aug 2009 08:03:35 +0000 (08:03 +0000)]
* elf32-ppc.c (ppc_elf_relax_section): Correct conditions under
which find_plt_ent is called. Delete redundant code.
Alan Modra [Tue, 4 Aug 2009 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 4 Aug 2009 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
H.J. Lu [Mon, 3 Aug 2009 23:56:08 +0000 (23:56 +0000)]
2009-08-03 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/10363
* elf.c (bfd_elf_string_from_elf_section): Return NULL on
invalid string offset.
Jan Kratochvil [Mon, 3 Aug 2009 17:00:34 +0000 (17:00 +0000)]
gdb/
Fix memory corruption on reread of file through a symbolic link.
* symfile.c (find_separate_debug_file): Initialize CANON_NAME earlier.
Allocate DEBUGFILE with length based on CANON_NAME. Free CANON_NAME on
all the return paths.
H.J. Lu [Mon, 3 Aug 2009 15:50:51 +0000 (15:50 +0000)]
2009-08-03 H.J. Lu <hongjiu.lu@intel.com>
PR ld/10433
* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Set got
to htab->init_got_offset and plt to htab->init_plt_offset
when discarding space for dynamic relocations.
H.J. Lu [Mon, 3 Aug 2009 13:47:35 +0000 (13:47 +0000)]
2009-08-03 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/10364
* objcopy.c (strip_main): Check return from smart_rename.
(copy_main): Likewise.
Vladimir Prus [Mon, 3 Aug 2009 12:39:01 +0000 (12:39 +0000)]
Implement -break-commands
* breakpoint.c (get_breakpoint, breakpoint_set_commands): New.
(commands_command): Use breakpoint_set_commands.
* breakpoint.h (get_breakpoint, breakpoint_set_commands): Declare.
* mi/mi-cmds.h (mi_cmd_break_commands): New.
* mi/mi-cmds.c: Register -break-commands.
* mi/mi-cmd-break.c (mi_cmd_break_commands, mi_read_next_line)
(mi_command_line_array, mi_command_line_array_cnt)
(mi_command_line_array_ptr): New.
Vladimir Prus [Mon, 3 Aug 2009 12:26:37 +0000 (12:26 +0000)]
Refactor reading of commands
* defs.h (read_command_lines_1): Declare.
* cli/cli-script.c (read_next_line): Only return string,
do not process.
(process_next_line): New, extracted from read_next_line.
(recurse_read_control_structure): Take a function pointer to the
read function.
(get_command_line) Pass the read_next_line as reader function
into recurse_read_control_structure.
(read_command_lines_1): New, extracted from...
(read_command_lines): ...here.
Alan Modra [Mon, 3 Aug 2009 12:10:46 +0000 (12:10 +0000)]
* elf32-ppc.c (struct plt_entry): Revise comments.
(ppc_elf_check_relocs): Don't create needless plt_entry info
for non-pie executables. Don't test info->pie when info->shared
already covers that case.
(ppc_elf_gc_sweep_hook): Adjust for above change.
(add_stub_sym): Don't test info->pie when info->shared tested.
(allocate_dynrelocs, ppc_elf_size_dynamic_sections): Likewise.
(write_glink_stub, ppc_elf_finish_dynamic_symbol): Likewise.
(ppc_elf_relax_section): Adjust find_plt_ent arguments.
(ppc_elf_relocate_section): Likewise.
Alan Modra [Mon, 3 Aug 2009 10:23:18 +0000 (10:23 +0000)]
* elf32-ppc.c (ppc_elf_check_relocs): Always add a plt ref count
for local ifunc symbols in non-pie executables, regardless of
reloc type. Don't specially create ifunc dyn relocs. Tidy ifunc
code so that it's obvious that we only do anything special for
local ifunc syms.
(ppc_elf_gc_sweep_hook): Adjust to suit check_relocs changes.
(allocate_dynrelocs): Correct comment for syms defined in plt.
Don't specially allocate ifunc dyn relocs.
(ppc_elf_relax_section): Relax branches to ifunc plt entries too.
(ppc_elf_relocate_section): Set "relocation" value for ifunc
syms in non-pie executables. No specially allocated dyn relocs
for ifunc to write. Allow for local sym on R_PPC_RELAX32_PLT.
(ppc_elf_finish_dynamic_symbol): Set value of ifunc symbols in
a non-pie executable.
gdbadmin [Mon, 3 Aug 2009 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 3 Aug 2009 00:00:05 +0000 (00:00 +0000)]
daily update
H.J. Lu [Sun, 2 Aug 2009 23:55:49 +0000 (23:55 +0000)]
2009-08-02 H.J. Lu <hongjiu.lu@intel.com>
Jakub Jelinek <jakub@redhat.com>
PR ld/6443
* elf32-i386.c (elf_i386_tls_transition): Check executable
instead of shared for TLS when building PIE.
(elf_i386_check_relocs): Likewise.
(elf_i386_allocate_dynrelocs): Likewise.
(elf_i386_relocate_section): Likewise.
* elf64-x86-64.c (elf64_x86_64_tls_transition): Check executable
instead of shared for TLS when building PIE.
(elf64_x86_64_check_relocs): Likewise.
(elf64_x86_64_allocate_dynrelocs): Likewise.
(elf64_x86_64_relocate_section): Likewise.
ld/testsuite/
2009-08-02 H.J. Lu <hongjiu.lu@intel.com>
PR ld/6443
* ld-i386/i386.exp: Run tlspie1.
* ld-x86-64/x86-64.exp: tlspie1.
* ld-i386/tlspie1.d: New.
* ld-i386/tlspie1.s: Likewise.
* ld-x86-64/tlspie1.d: Likewise.
* ld-x86-64/tlspie1.s: Likewise.
Eric B. Weddington [Sun, 2 Aug 2009 14:34:55 +0000 (14:34 +0000)]
/gas:
2009-08-02 Eric B. Weddington <eric.weddington@atmel.com>
* config/tc-avr.c (mcu_types): Add atmega8m1, atmega8c1, atmega16c1.
* doc/c-avr.texi: Likewise.
gdbadmin [Sun, 2 Aug 2009 00:00:05 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 2 Aug 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Eric B. Weddington [Sat, 1 Aug 2009 16:17:23 +0000 (16:17 +0000)]
/gas:
2009-08-01 Eric B. Weddington <eric.weddington@atmel.com>
* config/tc-avr.c (mcu_types): Add atmega8u2, atmega16u2, atmega32u2.
* doc/c-avr.texi: Likewise.
Kazu Hirata [Sat, 1 Aug 2009 00:02:04 +0000 (00:02 +0000)]
* procfs.c (proc_set_current_signal): Populate mysinfo before
copying it to arg.
(proc_clear_current_signal): Likewise.
(proc_set_watchpoint): Populate pwatch before copying it to arg.
gdbadmin [Sat, 1 Aug 2009 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 1 Aug 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Michael Snyder [Fri, 31 Jul 2009 22:15:15 +0000 (22:15 +0000)]
2009-07-31 Michael Snyder <msnyder@vmware.com>
* remote.c (store_register_using_P): Make error msg more verbose.
(store_registers_using_G): Ditto.
(fetch_register_using_p): Ditto.
Michael Snyder [Fri, 31 Jul 2009 21:33:39 +0000 (21:33 +0000)]
2009-07-29 Michael Snyder <msnyder@vmware.com>
* remote.c (store_register_using_P): Call putpkt and getpkt
directly instead of calling remote_send.
(store_register_using_G): Ditto.
(fetch_register_using_p): Ditto.
Daniel Jacobowitz [Fri, 31 Jul 2009 18:14:07 +0000 (18:14 +0000)]
binutils/testsuite/
* binutils-all/arm/thumb2-cond.s: Use instructions instead of
.short.
gas/
* config/obj-elf.c (obj_elf_ident): Notify section change to the hook.
* config/tc-arm.c (make_mapping_symbol): New function, from
mapping_state. Save mapping symbols in the frag.
(insert_data_mapping_symbol): New.
(mapping_state): Use make_mapping_symbol, improve state transitions.
(mapping_state_2): New. Provide dummy definition.
(opcode_select): Do not call mapping_state.
(s_bss): Call md_elf_section_change_hook instead of mapping_state.
(output_inst): Update use of tc_frag_data.
(new_automatic_it_block): Call mapping_state before emitting the
IT instruction.
(md_assemble): Move mapping_state to just before outputting the
new instruction.
(arm_handle_align): Update use of tc_frag_data.
Call insert_data_mapping_symbol.
(arm_init_frag): Update use of tc_frag_data. Call
mapping_state_2.
(arm_elf_change_section): Always update the mapping symbol FSM state.
(check_mapping_symbols): New function.
(arm_adjust_symtab): Use check_mapping_symbols.
* config/tc-arm.h (struct arm_frag_type): New.
(TC_FRAG_TYPE): Change to struct arm_frag_type.
(TC_FRAG_INIT): Pass max_chars.
(arm_init_frag): Update prototype.
gas/testsuite/
* gas/arm/mapdir.d, gas/arm/mapdir.s: New files.
* gas/arm/mapping.d: Adapted to new symbols generation.
* gas/arm/mapping2.d: New test case.
* gas/arm/mapping2.s: New file.
* gas/arm/mapping3.d: New test case.
* gas/arm/mapping3.s: New file.
* gas/arm/mapping4.d: New test case.
* gas/arm/mapping4.s: New file.
* gas/arm/mapshort-eabi.d: Adapted to new symbols generation.
* gas/elf/section2.e-armeabi: Adapted to new symbols generation.
Ulrich Weigand [Fri, 31 Jul 2009 15:39:24 +0000 (15:39 +0000)]
Fix previous check-in.
Ulrich Weigand [Fri, 31 Jul 2009 15:38:16 +0000 (15:38 +0000)]
* configure.ac: Run gdb.cell tests when appropriate.
* configure: Regenerate.
* lib/cell.exp: New file.
* gdb.cell: New directory.
* gdb.cell/configure.ac: New file.
* gdb.cell/configure: New file.
* gdb.cell/Makefile.in: New file.
* gdb.cell/arch.exp: New file.
* gdb.cell/break.c: New file.
* gdb.cell/break.exp: New file.
* gdb.cell/break-spu.c: New file.
* gdb.cell/bt.c: New file.
* gdb.cell/bt2-spu.c: New file.
* gdb.cell/bt-spu.c: New file.
* gdb.cell/bt.exp: New file.
* gdb.cell/coremaker.c: New file.
* gdb.cell/coremaker-spu.c: New file.
* gdb.cell/core.exp: New file.
* gdb.cell/gcore.exp: New file.
* gdb.cell/data.c: New file.
* gdb.cell/data.exp: New file.
* gdb.cell/data-spu.c: New file.
* gdb.cell/ea-cache.exp: New file.
* gdb.cell/ea-cache.c: New file.
* gdb.cell/ea-cache-spu.c: New file.
* gdb.cell/ea-standalone.c: New file.
* gdb.cell/ea-standalone.exp: New file.
* gdb.cell/ea-test.c: New file.
* gdb.cell/ea-test.exp: New file.
* gdb.cell/f-regs.exp: New file.
* gdb.cell/mem-access.c: New file.
* gdb.cell/mem-access.exp: New file.
* gdb.cell/mem-access-spu.c: New file.
* gdb.cell/ptype.exp: New file.
* gdb.cell/registers.exp: New file.
* gdb.cell/size.c: New file.
* gdb.cell/sizeof.exp: New file.
* gdb.cell/size-spu.c: New file.
* gdb.cell/solib.exp: New file.
* gdb.cell/solib-symbol.exp: New file.
Ulrich Weigand [Fri, 31 Jul 2009 15:35:38 +0000 (15:35 +0000)]
ChangeLog:
* spu-tdep.c: Include "infcall.h".
(spu_address_class_type_flags): New function.
(spu_address_class_type_flags_to_name): Likewise.
(spu_address_class_name_to_type_flags): Likewise.
(spu_pointer_to_address): Handle __ea pointers.
(spu_auto_flush_cache_p): New static variable.
(spu_objfile_from_frame): New function.
(flush_ea_cache, spu_attach_normal_stop): Likewise.
(show_spu_auto_flush_cache): Likewise.
(spu_gdbarch_init): Install address class handlers.
(_initialize_spu_tdep): Attach to normal_stop observer.
Install "set spu auto-flush-cache" / "show spu auto-flush-cache"
commands.
* NEWS: Mention "set/show spu auto-flush-cache" commands.
doc/ChangeLog:
* gdb.texinfo (Cell Broadband Engine SPU architecture): Document the
"set spu auto-flush-cache" and "show spu auto-flush-cache" commands.
Ulrich Weigand [Fri, 31 Jul 2009 15:33:50 +0000 (15:33 +0000)]
ChangeLog:
* spu-tdep.c: Include "block.h".
(setspucmdlist, showspucmdlist): New static variables.
(spu_stop_on_load_p): Likewise.
(spu_catch_start): New function.
(show_spu_command, set_spu_command): New functions.
(show_spu_stop_on_load): Likewise.
(_initialize_spu_tdep): Attach spu_catch_start to new_objfile observer.
Install "set spu" / "show spu" prefix command handler.
Install "set spu stop-on-load" / "show spu stop-on-load" command.
* NEWS: Mention "set/show spu stop-on-load" commands.
doc/ChangeLog:
* gdb.texinfo (Cell Broadband Engine SPU architecture): Document the
"set spu stop-on-load" and "show spu stop-on-load" commands.
Ulrich Weigand [Fri, 31 Jul 2009 15:31:08 +0000 (15:31 +0000)]
* ppc-linux-tdep.c: Include "solib.h", "solist.h", "exceptions.h",
"arch-utils.h", and "spu-tdep.h".
(spu_context_objfile, spe_context_lm_addr, spe_context_offset):
New static variables.
(spe_context_cache_ptid, spe_context_cache_address): Likewise.
(ppc_linux_spe_context_lookup): New function.
(ppc_linux_spe_context_inferior_created): Likewise.
(ppc_linux_spe_context_solib_loaded): Likewise.
(ppc_linux_spe_context_solib_unloaded): Likewise.
(ppc_linux_spe_context): Likewise.
(struct ppu2spu_cache, struct ppu2spu_data): New data types.
(ppu2spu_prev_arch, ppu2spu_this_id, ppu2spu_prev_register,
ppu2spu_unwind_register, ppu2spu_sniffer,
ppu2spu_dealloc_cache): New functions.
(ppu2spu_unwind): New static variable.
(ppc_linux_init_abi): Install cross-architecture unwinder.
(_initialize_ppc_linux_tdep): Attach to observers.
* spu-tdep.c (struct spu2ppu_cache): New data type.
(spu2ppu_prev_arch, spu2ppu_this_id, spu2ppu_prev_register,
spu2ppu_sniffer, spu2ppu_dealloc_cache): New functions.
(spu2ppu_unwind): New static variable.
(spu_gdbarch_init): Install cross-architecture unwinder.
Ulrich Weigand [Fri, 31 Jul 2009 15:30:03 +0000 (15:30 +0000)]
* linux-ppc-low.c (INSTR_SC, NR_spu_run): Define.
(parse_spufs_run): New function.
(ppc_get_pc, ppc_set_pc): Detect and handle SPU PC.
(ppc_breakpoint_at): Handle SPU breakpoints.
Ulrich Weigand [Fri, 31 Jul 2009 15:28:27 +0000 (15:28 +0000)]
ChangeLog:
* target.h (enum strata): New value arch_stratum.
* target.c (target_require_runnable): Skip arch_stratum targets.
* configure.tgt (powerpc-*-linux* | powerpc64-*-linux*): Add
solib-spu.o and spu-multiarch.o to gdb_target_obs.
* Makefile.in (ALL_TARGET_OBS): Add solib-spu.o and spu-multiarch.o.
(ALLDEPFILES): Add solib-spu.c and spu-multiarch.c.
* solib-spu.c: New file.
* solib-spu.h: New file.
* spu-multiarch.c: New file.
* spu-tdep.h (SPUADDR, SPUADDR_SPU, SPUADDR_ADDR): New macros.
* spu-tdep.c (struct gdbarch_tdep): New member id.
(spu_gdbarch_id): New function.
(spu_lslr): New function.
(spu_address_to_pointer): New function.
(spu_pointer_to_address): Support SPU ID address encoding. Use
spu_gdbarch_id and spu_lslr.
(spu_integer_to_address): Likewise.
(spu_frame_unwind_cache): Update for encoded addresses.
(spu_unwind_pc, spu_unwind_sp): Likewise.
(spu_read_pc, spu_write_pc): Likewise.
(spu_push_dummy_call): Likewise.
(spu_software_single_step): Likewise.
(spu_get_longjmp_target): Likewise.
(spu_overlay_update_osect): Likewise.
(spu_dis_asm_print_address): New function.
(gdb_print_insn_spu): Likewise.
(spu_gdbarch_init): Store SPU ID in tdep structure.
Install spu_address_to_pointer and gdb_print_insn_spu.
* ppc-linux-tdep.c: Include "observer.h", "auxv.h", "elf/common.h"
and "solib-spu.h".
(ppc_linux_entry_point_addr): New static variable.
(ppc_linux_inferior_created): New function.
(ppc_linux_displaced_step_location): Likewise.
(ppc_linux_init_abi): Enable Cell/B.E. support if supported
by the target.
(_initialize_ppc_linux_tdep): Attach to inferior_created observer.
* NEWS: Mention multi-architecture and Cell/B.E. debugging
capabilities.
testsuite/ChangeLog:
* gdb.xml/tdesc-regs.exp: Skip for SPU targets.
Ulrich Weigand [Fri, 31 Jul 2009 15:25:22 +0000 (15:25 +0000)]
ChangeLog:
* linux-nat.c: Include <sys/vfs.h>.
(SPUFS_MAGIC): Define.
(spu_enumerate_spu_ids): New function.
(linux_proc_xfer_spu): New function.
(linux_xfer_partial): Handle TARGET_OBJECT_SPU.
(iterate_over_spus): New function.
(struct linux_spu_corefile_data): New data type.
(linux_spu_corefile_callback): New function.
(linux_spu_make_corefile_notes): New function.
(linux_nat_make_corefile_notes): Call it.
* corelow.c (struct spuid_list): New data type.
(add_to_spuid_list): New function.
(core_xfer_partial): Handle TARGET_OBJECT_SPU.
gdbserver/ChangeLog:
* linux-low.c: Include <sys/stat.h> and <sys/vfs.h>.
(SPUFS_MAGIC): Define.
(spu_enumerate_spu_ids): New function.
(linux_qxfer_spu): New function.
(linux_target_ops): Install linux_qxfer_spu.
Ulrich Weigand [Fri, 31 Jul 2009 15:23:21 +0000 (15:23 +0000)]
ChangeLog:
* features/Makefile: Allow sub-platform specific expedite settings.
(WHICH): Add rs6000/powerpc-cell32l and rs6000/powerpc-cell64l.
(rs6000/powerpc-cell32l-expedite): Define.
(rs6000/powerpc-cell64l-expedite): Likewise.
* features/rs6000/powerpc-cell32l.xml: New file.
* features/rs6000/powerpc-cell64l.xml: New file.
* features/rs6000/powerpc-cell32l.c: New generated file.
* features/rs6000/powerpc-cell64l.c: New generated file.
* regformats/rs6000/powerpc-cell32l.dat: New generated file.
* regformats/rs6000/powerpc-cell64l.dat: New generated file.
* config/djgpp/fnchange.lst: Add mappings for new files.
* ppc-linux-tdep.h (tdesc_powerpc_cell32l): Add prototype.
(tdesc_powerpc_cell64l): Likewise.
* ppc-linux-tdep.c: Include "features/rs6000/powerpc-cell32l.c"
and "features/rs6000/powerpc-cell64l.c".
(_initialize_ppc_linux_tdep): Initialize target descriptions.
(ppc_linux_spu_section): New function.
(ppc_linux_core_read_description): Detect Cell/B.E. core files.
* ppc-linux-nat.c (PPC_FEATURE_CELL): Define.
(ppc_linux_read_description): Detect Cell/B.E. architecture.
* rs6000-tdep.c (rs6000_gdbarch_init): Do not trust BFD wordsize
if exec file is not PowerPC architecture.
gdbserver/ChangeLog:
* configure.srv (powerpc*-*-linux*): Add powerpc-cell32l.o
and powerpc-cell64l.o to srv_regobj. Add rs6000/powerpc-cell32l.xml
and rs6000/powerpc-cell64l.xml to srv_xmlfiles.
* Makefile.in (powerpc-cell32l.o, powerpc-cell32l.c): New rules.
(powerpc-cell64l.o, powerpc-cell64l.c): Likewise.
(clean): Handle powerpc-cell32l.c and powerpc-cell64l.c.
* linux-ppc-low.c (PPC_FEATURE_CELL): Define.
(init_registers_powerpc_cell32l): Add prototype.
(init_registers_powerpc_cell64l): Likewise.
(ppc_arch_setup): Detect Cell/B.E. architecture.
Ulrich Weigand [Fri, 31 Jul 2009 14:39:12 +0000 (14:39 +0000)]
ChangeLog:
* features/gdb-target.dtd (target): Accept optional
<compatible> elements.
(compatible): Define element.
* target-descriptions.h (tdesc_compatible_p): New.
(tdesc_add_compatible): New.
* target-descriptions.c (arch_p): New VEC_P type.
(struct target_desc): New member compatible.
(free_target_description): Handle it.
(maint_print_c_tdesc_cmd): Likewise.
(tdesc_compatible_p): New function.
(tdesc_add_compatible): New function.
* xml-tdesc.c (tdesc_end_compatible): New function.
(target_children): Handle <compatible> element.
* arch-utils.c (choose_architecture_for_target): Accept target
description instead of BFD architecture as input. Query target
description for compatible architectures.
(gdbarch_info_fill): Update call.
* NEWS: Mention <compatible> element of target descriptions.
doc/ChangeLog:
* gdb.texinfo (Target Descriptions): Document <compatible> element.
Ulrich Weigand [Fri, 31 Jul 2009 14:33:45 +0000 (14:33 +0000)]
* breakpoint.c (remove_breakpoints): If removing one breakpoint
location fails, still continue to remove other locations.
(remove_hw_watchpoints): Likewise.
(detach_breakpoints): Likewise.
Ulrich Weigand [Fri, 31 Jul 2009 14:31:16 +0000 (14:31 +0000)]
* breakpoint.h (enum enable_state): Add bp_startup_disabled.
(disable_breakpoints_before_startup): Add prototype.
(enable_breakpoints_after_startup): Likewise.
* breakpoint.c (executing_startup): New static variable.
(describe_other_breakpoints): Handle bp_startup_disabled.
(check_duplicates_for): Likewise.
(disable_breakpoints_before_startup): New function.
(enable_breakpoints_after_startup): New function.
(create_breakpoint): Mark new breakpoints as bp_startup_disabled
if executing_startup flag is true.
(break_command_really): Likewise.
(breakpoint_re_set_one): Skip bp_startup_disabled breakpoints.
Anthony Green [Fri, 31 Jul 2009 11:40:16 +0000 (11:40 +0000)]
Increase simulated memory size. Support new system call ABI. Support exception processing for Linux system calls.
Anthony Green [Fri, 31 Jul 2009 11:25:14 +0000 (11:25 +0000)]
Add moxie-uclinux support.
Hans-Peter Nilsson [Fri, 31 Jul 2009 04:55:48 +0000 (04:55 +0000)]
* ld-mmix/x.s, ld-mmix/y.s, ld-mmix/zeroeh.ld,
ld-mmix/zeroehelf.d, ld-mmix/zeroehmmo.d: Use .gcc_except_table,
not .eh_frame.
Hans-Peter Nilsson [Fri, 31 Jul 2009 02:25:56 +0000 (02:25 +0000)]
* linker.c (fix_syms): Consider SEC_LOAD when choosing section.
gdbadmin [Fri, 31 Jul 2009 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 31 Jul 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Julian Brown [Thu, 30 Jul 2009 23:05:05 +0000 (23:05 +0000)]
* arm-linux-tdep.c (arch-utils.h, inferior.h, gdbthread.h, symfile.h):
Include files.
(arm_linux_cleanup_svc, arm_linux_copy_svc): New.
(cleanup_kernel_helper_return, arm_catch_kernel_helper_return): New.
(arm_linux_displaced_step_copy_insn): New.
(arm_linux_init_abi): Initialise displaced stepping callbacks.
* arm-tdep.c (DISPLACED_STEPPING_ARCH_VERSION): New macro.
(ARM_NOP): New.
(displaced_read_reg, displaced_in_arm_mode, branch_write_pc)
(bx_write_pc, load_write_pc, alu_write_pc, displaced_write_reg)
(insn_references_pc, copy_unmodified, cleanup_preload, copy_preload)
(copy_preload_reg, cleanup_copro_load_store, copy_copro_load_store)
(cleanup_branch, copy_b_bl_blx, copy_bx_blx_reg, cleanup_alu_imm)
(copy_alu_imm, cleanup_alu_reg, copy_alu_reg)
(cleanup_alu_shifted_reg, copy_alu_shifted_reg, cleanup_load)
(cleanup_store, copy_extra_ld_st, copy_ldr_str_ldrb_strb)
(cleanup_block_load_all, cleanup_block_store_pc)
(cleanup_block_load_pc, copy_block_xfer, cleanup_svc, copy_svc)
(copy_undef, copy_unpred): New.
(decode_misc_memhint_neon, decode_unconditional)
(decode_miscellaneous, decode_dp_misc, decode_ld_st_word_ubyte)
(decode_media, decode_b_bl_ldmstm, decode_ext_reg_ld_st)
(decode_svc_copro, arm_process_displaced_insn)
(arm_displaced_init_closure, arm_displaced_step_copy_insn)
(arm_displaced_step_fixup): New.
(arm_gdbarch_init): Initialise max insn length field.
* arm-tdep.h (DISPLACED_TEMPS, DISPLACED_MODIFIED_INSNS): New
macros.
(displaced_step_closure, pc_write_style): New.
(arm_displaced_init_closure, displaced_read_reg)
(arm_process_displaced_insn, arm_displaced_init_closure)
(displaced_read_reg, displaced_write_reg, arm_displaced_step_copy_insn)
(arm_displaced_step_fixup): Add prototypes.
Julian Brown [Thu, 30 Jul 2009 23:01:27 +0000 (23:01 +0000)]
* infrun.c (displaced_step_fixup): If this is a software
single-stepping arch, don't tell the target to single-step.
(maybe_software_singlestep): Return 0 if we're using displaced
stepping.
(resume): If this is a software single-stepping arch, and
displaced-stepping is enabled, use it for all single-step
requests.
Ralf Wildenhues [Thu, 30 Jul 2009 22:53:18 +0000 (22:53 +0000)]
sim/
* Makefile.in (datarootdir): New variable.
sim/common/
* Makefile.in (datarootdir): New variable.
sim/igen/
* Makefile.in (datarootdir): New variable.
sim/ppc/
* Makefile.in (datarootdir): New variable.
readline/
* Makefile.in (datarootdir): New variable.
* doc/Makefile.in (datarootdir): New variable.
* shlib/Makefile.in (datarootdir): New variable.
gdb/gdbserver/
* Makefile.in (datarootdir): New variable.
Ralf Wildenhues [Thu, 30 Jul 2009 22:44:50 +0000 (22:44 +0000)]
intl/
* Makefile.in (aclocal_deps): New variable.
($(srcdir)/aclocal.m4): Use it, for portable makefile syntax.
libdecnumber/
* Makefile.in (aclocal_deps): New variable.
($(srcdir)/aclocal.m4): Use it, for portable makefile syntax.
etc/
* Makefile.in (AUTOCONF, configure_deps): New variables.
($(srcdir)/configure, config.status): New rules.
(Makefile): Depend on config.status.
* configure.in: Accept --enable-maintainer-mode, set and
substitute MAINT accordingly.
gdb/
* Makefile.in (ACLOCAL, ACLOCAL_AMFLAGS, aclocal_m4_deps)
(AUTOCONF, configure_deps, AUTOHEADER): New variables.
($(srcdir)/aclocal.m4, $(srcdir)/configure, $(srcdir)/config.in)
(am--refresh): New rules.
(stamp-h, config.status): List config.in and configure including
$(srcdir)/ prefix.
* aclocal.m4: Regenerate.
* configure: Regenerate.
Ralf Wildenhues [Thu, 30 Jul 2009 19:43:16 +0000 (19:43 +0000)]
config/
* extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Do not expand
for Autoconf 2.62 or newer.
* tls.m4 (GCC_CHECK_TLS): Fix m4 quotation.
* no-executables.m4 (_AC_COMPILER_EXEEXT): Fix m4 quotation.
* override.m4 (m4_copy_force, m4_rename_force): Provide
macros if not defined.
(AC_PREREQ): Use m4_copy_force.
readline/examples/rlfe/
* configure.in: Correctly quote AC_PROGRAM_SOURCE definition.
Thomas Schwinge [Thu, 30 Jul 2009 17:42:24 +0000 (17:42 +0000)]
2009-07-30 Thomas Schwinge <tschwinge@gnu.org>
* gnu-nat.c (add_task_commands) <stopped>: Register the correct
callback function.
H.J. Lu [Thu, 30 Jul 2009 16:29:53 +0000 (16:29 +0000)]
2009-07-30 H.J. Lu <hongjiu.lu@intel.com>
* ia64-tdep.c (ia64_access_reg): Correct paddress.
H.J. Lu [Thu, 30 Jul 2009 15:55:59 +0000 (15:55 +0000)]
2009-07-30 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/shared.exp: Comment out dl3b.
Jan Kratochvil [Thu, 30 Jul 2009 13:12:54 +0000 (13:12 +0000)]
gdb/
Replace public function varobj_list by all_root_varobjs iterator.
* mi/mi-cmd-var.c (struct mi_cmd_var_update, mi_cmd_var_update_iter):
New.
(mi_cmd_var_update): Replace the varobj_list call by all_root_varobjs.
Remove the variables rootlist, cr. New variable data.
* varobj.c (rootcount, varobj_list): Remove.
(install_variable, uninstall_variable): Remove the rootcount updates.
(all_root_varobjs): New function.
(varobj_invalidate): Use the all_root_varobjs call. Move the code to...
(varobj_invalidate_iter): ... a new function.
* varobj.h (varobj_list): Remove the prototype.
(all_root_varobjs): New prototype.
Nick Clifton [Thu, 30 Jul 2009 08:54:49 +0000 (08:54 +0000)]
* doc/c-arm.texi (ARM-Instruction-Set): New node. Documents the
different syntaxes support by the ARM port.
(ARM Directives): Add entry for .syntax.
Nick Clifton [Thu, 30 Jul 2009 08:45:41 +0000 (08:45 +0000)]
* doc/c-mips.texi (MIPS insn): Fix typo.
Hans-Peter Nilsson [Thu, 30 Jul 2009 00:13:55 +0000 (00:13 +0000)]
* ld-scripts/empty-address-3a.d, ld-scripts/empty-address-3b.d:
Skip for mmix-knuth-mmixware.
gdbadmin [Thu, 30 Jul 2009 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 30 Jul 2009 00:00:09 +0000 (00:00 +0000)]
daily update
Paul Pluzhnikov [Wed, 29 Jul 2009 23:10:05 +0000 (23:10 +0000)]
2009-07-29 Paul Pluzhnikov <ppluzhnikov@google.com>
PR gdb/6817
* dbxread.c (read_dbx_symtab): Reduce stack use.
DJ Delorie [Wed, 29 Jul 2009 20:01:28 +0000 (20:01 +0000)]
merge from gcc
Jan Kratochvil [Wed, 29 Jul 2009 18:44:28 +0000 (18:44 +0000)]
gdb/
Fix gcc-4.5 HEAD warnings.
* cp-name-parser.y (%union <typed_val_int>, %token GLOBAL)
(GLOBAL_CONSTRUCTORS, GLOBAL_DESTRUCTORS, demangler_special <GLOBAL>):
Remove.
(yylex <"global constructors keyed to ">)
(yylex <"global destructors keyed to ">): Base it on DEMANGLER_SPECIAL.
(cp_comp_to_string): Remove variables str, prefix and buf. Remove the
GLOBAL_DESTRUCTORS and GLOBAL_CONSTRUCTORS handling.
(cp_print): Remove the GLOBAL_DESTRUCTORS and GLOBAL_CONSTRUCTORS
handling.
Alan Modra [Wed, 29 Jul 2009 14:59:23 +0000 (14:59 +0000)]
* emulparams/elf32ppc.sh (PLT): Don't include ".iplt".
* emulparams/elf_i386.sh (IREL_IN_PLT): Define.
* emulparams/elf_x86_64.sh (IREL_IN_PLT): Define.
* scripttempl/elf.sc: Create separate .iplt and .rela.iplt sections
when !IREL_IN_PLT.
Alan Modra [Wed, 29 Jul 2009 14:56:38 +0000 (14:56 +0000)]
* elf32-ppc.c (ppc_elf_check_relocs): Always set up sections
used by indirect function support. Count dynamic relocs for
ifunc syms.
(ppc_elf_adjust_dynamic_symbol): Tweak for ifunc.
(allocate_dynrelocs): Allocate all non-dynamic ifunc plt entries
in iplt and their relocs in reliplt. Don't make ifunc syms
dynamic. Allocate got entry relocs for non-dynamic ifunc in
reliplt. Handle other dynamic relocs for ifunc.
(ppc_elf_size_dynamic_sections): Alloc dyn relocs for static
ifunc in reliplt, likewise relocs for got against local ifunc.
Typo fix on reliplt size adjust.
(ppc_elf_relocate_section): Don't use plt scheme of allocating
relocs 1-1 with entries for iplt, instead just add using
reloc_count. Write got relocs and dyn relocs for ifunc to reliplt.
Error on invalid ifunc dyn relocs.
(ppc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc plt
in iplt/reliplt.
* elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_JMP_IREL,
R_PPC64_REL16, R_PPC64_REL16_LO, R_PPC64_REL16_HI, R_PPC64_REL16_HA.
(ppc64_elf_reloc_type_lookup): Handle new relocs.
(ppc64_elf_check_relocs): Likewise. Count dyn relocs for ifunc.
(allocate_dynrelocs): As for elf32-ppc.c above.
(ppc64_elf_size_dynamic_sections): Likewise.
(ppc_build_one_stub): Put non-dynamic ifunc plt call stubs in iplt,
and their relocs in reliplt. Use R_PPC64_JMP_IREL.
(ppc_size_one_stub): Similarly.
(ppc64_elf_relocate_section): As for elf32-ppc.c above. Handle new
relocs too.
(ppc64_elf_finish_dynamic_symbol): As for elf32-ppc.c above.
Alan Modra [Wed, 29 Jul 2009 14:55:20 +0000 (14:55 +0000)]
* ppc64.h: Add R_PPC64_JMP_IREL, R_PPC64_REL16, R_PPC64_REL16_LO,
R_PPC64_REL16_HI, R_PPC64_REL16_HA.