From 9590bf2544154e40e76e1e4d795d1b21327b0abb Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Mon, 1 Aug 2011 18:25:22 +0000 Subject: * layout.cc (Layout::set_segment_offsets): Don't realign text segment if -Ttext was specified. * object.cc (Sized_relobj_file::Sized_relobj_file): Store the ELF file type. * object.h (Sized_relobj_file::e_type): New function. (Sized_relobj_file::e_type_): New data member. * symtab.cc (Symbol_table::add_from_relobj): Don't add section base address for ET_EXEC files. * target.cc (Target::do_make_elf_object_implementation): Allow ET_EXEC files with --just-symbols option. --- gold/target.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gold/target.cc') diff --git a/gold/target.cc b/gold/target.cc index 4a7af83c161..091f9d34cd5 100644 --- a/gold/target.cc +++ b/gold/target.cc @@ -72,7 +72,10 @@ Target::do_make_elf_object_implementation( const elfcpp::Ehdr& ehdr) { int et = ehdr.get_e_type(); - if (et == elfcpp::ET_REL) + // ET_EXEC files are valid input for --just-symbols/-R, + // and we treat them as relocatable objects. + if (et == elfcpp::ET_REL + || (et == elfcpp::ET_EXEC && input_file->just_symbols())) { Sized_relobj_file* obj = new Sized_relobj_file(name, input_file, offset, ehdr); -- cgit v1.2.1