Alan Modra [Mon, 31 Jan 2011 22:44:21 +0000 (22:44 +0000)]
* elf64-ppc.c (ppc64_elf_next_input_section): Use elf_gp value
for toc pointer on any section having makes_toc_func_call set.
(check_pasted_section): Ensure pasted .init/.fini fragments use
the same toc if any has makes_toc_func_call set.
Ian Lance Taylor [Mon, 24 Jan 2011 21:54:56 +0000 (21:54 +0000)]
* plugin.cc (class Plugin_rescan): Define new class.
(Plugin_manager::claim_file): Set any_claimed_.
(Plugin_manager::save_archive): New function.
(Plugin_manager::save_input_group): New function.
(Plugin_manager::all_symbols_read): Create Plugin_rescan task if
necessary.
(Plugin_manager::new_undefined_symbol): New function.
(Plugin_manager::rescan): New function.
(Plugin_manager::rescannable_defines): New function.
(Plugin_manager::add_input_file): Set any_added_.
* plugin.h (class Plugin_manager): define new fields rescannable_,
undefined_symbols_, any_claimed_, and any_added_. Declare
Plugin_rescan as friend. Declare new functions.
(Plugin_manager::Rescannable): Define type.
(Plugin_manager::Rescannable_list): Define type.
(Plugin_manager::Undefined_symbol_list): Define type.
(Plugin_manager::Plugin_manager): Initialize new fields.
* archive.cc (Archive::defines_symbol): New function.
(Add_archive_symbols::run): Pass archive to plugins if any.
* archive.h (class Archive): Declare defines_symbol.
* readsyms.cc (Input_group::~Input_group): New function.
(Finish_group::run): Pass input_group to plugins if any.
* readsyms.h (class Input_group): Declare destructor.
* symtab.cc (add_from_object): Pass undefined symbol to plugins if
any.
Ian Lance Taylor [Mon, 10 Jan 2011 21:57:48 +0000 (21:57 +0000)]
* layout.cc (Layout::layout_eh_frame): Mark a writable .eh_frame
section as relro.
(Layout::set_segment_offsets): Reset increase_relro before calling
set_section_addresses a second time.
Backport from trunk for PR gas/12269
* config/tc-z80.c (emit_mx, emit_ldxhl): Do not use
symbol_get_value_expression on a symbol that may not yet have
a value.
* testsuite/gas/z80/atend.s: New file, test case for bug 12269,
provided by Chris Smith.
* testsuite/gas/z80/atend.d: New file, expected results for atend.s.
* testsuite/gas/z80/z80.exp: Run new test case.
Nick Clifton [Tue, 23 Nov 2010 13:38:39 +0000 (13:38 +0000)]
* configure.ac: For --enable-gold, handle value `default' instead of
`both*'. Always install ld as ld.gold, install as ld if gold is
the default.
* configure: Regenerate.
* expression.cc (BINARY_EXPRESSION): Initialize left_alignment
and right_alignment to be zero. Store result alignment only if it is
greater than existing alignment.
Nick Clifton [Fri, 19 Nov 2010 11:30:02 +0000 (11:30 +0000)]
* input-file.c (input_file_open): Check for empty input files.
(input_file_get): Check for end of file before reading any more
data.
(input_file_give_next_buffer): Likewise.
Log message:
* output.h (Output_segment::set_section_addresses): Pass increase_relro
by reference; adjust all callers.
* output.cc (Output_segment::set_section_addresses): Adjust references
to increase_relro. Add padding to *increase_relro when ORDER_RELRO_LAST
list is empty.
(Output_segment::set_offset): Assert if PT_GNU_RELRO segment does not
end at page boundary.
Ian Lance Taylor [Tue, 16 Nov 2010 14:49:57 +0000 (14:49 +0000)]
PR other/46332
* cp-demangle.c (d_print_function_type): Don't print parentheses
if there are no modifiers to print.
* testsuite/demangle-expected: Tweak one test case, add another.
Rainer Orth [Mon, 15 Nov 2010 16:02:40 +0000 (16:02 +0000)]
* config/obj-elf.c (elf_generate_asm_lineno): New function.
(elf_process_stab): New function.
(elf_format_ops): Always use them as generate_asm_lineno,
process_stab members.
PR gas/12198
* gas/config/tc-arm.c (arm_arch_v6m_only): New variable.
(aeabi_set_public_attributes): Ensure we only set the Operating System
Extension when we are on an M-profile core.
* gas/testsuite/gas/arm/pr12198-1.d: New test.
* gas/testsuite/gas/arm/pr12918-1.s: Likewise.
* gas/testsuite/gas/arm/pr12198-2.d: Likewise.
* gas/testsuite/gas/arm/pr12918-2.s: Likewise.
* include/opcode/arm.h (ARM_AEXT_V6M_ONLY): New define.
(ARM_AEXT_V6M): Rewrite in terms of ARM_AEXT_V6M_ONLY.
(ARM_ARCH_V6M_ONLY): New define.