Commit Graph

370 Commits

Author SHA1 Message Date
Ian Lance Taylor 38c5e8b493 Print statistics about merge sections with --stats. 2007-12-18 21:24:10 +00:00
Ian Lance Taylor 8383303e0a Add section_size_type and section_offset_type, use them to replace a
lot of instances of off_t.
2007-12-18 00:48:04 +00:00
Ian Lance Taylor 281b8327ae Minor speedup to Output_merge_string::do_add_input_section. 2007-12-15 01:01:48 +00:00
Ian Lance Taylor 17a1d0a9b2 Rewrite workqueue. This version eliminates the master thread, and
reduces the amount of locking required to find a new thread to run.
2007-12-14 19:00:21 +00:00
Ian Lance Taylor 7004837e8d Add const to Object::read and Object::sized_target. 2007-12-14 18:50:01 +00:00
Ian Lance Taylor c71c6f566c Make some File_read methods const. 2007-12-14 18:22:06 +00:00
Ian Lance Taylor 0e470e5c90 Add some missing dependencies for the new linker. 2007-12-14 05:27:45 +00:00
Ian Lance Taylor 6d01333390 From Craig Silverstein: size hash tables to avoid resizing. 2007-12-14 05:24:17 +00:00
Ian Lance Taylor 460c00b558 Fix --thread-count-middle and --thread-count-final. 2007-12-14 04:53:22 +00:00
Ian Lance Taylor c03c769248 From Cary Coutant: Test TLS initial-exec model. 2007-12-11 23:33:11 +00:00
Ian Lance Taylor 535890bb64 From Cary Coutant: Set DF_STATIC_TLS as appropriate. 2007-12-11 23:30:52 +00:00
Ian Lance Taylor 31d6048054 From Cary Coutant: Fix x86_64 TLS problem. 2007-12-11 21:21:14 +00:00
Ian Lance Taylor 9430daf83a From Craig Silverstein: Speed up ODR violation reporting. 2007-12-11 18:17:31 +00:00
Ian Lance Taylor 94c4710f80 From Cary Coutant: Handle TLS entry for TLS module index. 2007-12-11 04:23:05 +00:00
Ian Lance Taylor fcf29b2415 Keep views on views_ list so that they can be found again. 2007-12-10 22:55:31 +00:00
Craig Silverstein 53765ea3d7 Released gold-alpha 0.9. 2007-12-08 03:17:25 +00:00
Ian Lance Taylor bc2c67ffde From Craig Silverstein: Fix error message, add this->. 2007-12-08 03:05:27 +00:00
Ian Lance Taylor 6a41d30bc2 From Cary Coutant: Fix x86_64 TLS. Also set DT_TEXTREL as well as
DF_TEXTREL.
2007-12-07 23:26:51 +00:00
Ian Lance Taylor e8c846c359 From Cary Coutant: Fix handling of RELATIVE RELA relocs. 2007-12-07 19:32:59 +00:00
Ian Lance Taylor 4117d76827 Fix ehframe header handling for shared libraries. 2007-12-07 06:44:01 +00:00
Ian Lance Taylor 78d911fd3e From Cary Coutant: Some x86_64 shared library fixes. 2007-12-07 00:59:31 +00:00
Ian Lance Taylor ac1f0c21ae From Cary Coutant: Remove commented out assert. Also add comment for
bitfield check.
2007-12-07 00:54:28 +00:00
Ian Lance Taylor 351a80002a From Craig Silverstein: Reorganize testsuite Makefile.am. 2007-12-06 17:07:24 +00:00
Ian Lance Taylor f2619d6c3b Initialize variable to avoid warning. 2007-12-06 06:03:00 +00:00
Ian Lance Taylor 7bf1f8020f From Cary Coutant: More support for generating shared libraries. 2007-12-06 05:55:50 +00:00
Ian Lance Taylor fd6940ea27 Fix comment. 2007-12-06 05:27:24 +00:00
Ian Lance Taylor 116724f39d Don't write out the symbol table when stripping. 2007-12-06 05:00:00 +00:00
Ian Lance Taylor 987cc25110 Rework Stringpool to not compute the hash code twice when adding a new
string.
2007-12-05 22:56:51 +00:00
Ian Lance Taylor 42a1b6860d From Craig Silverstein: Support -o -. 2007-12-05 01:13:28 +00:00
Ian Lance Taylor 43771f7638 From Craig Silverstein: Test some flags. 2007-12-05 01:10:16 +00:00
Ian Lance Taylor ad8f37d1ba Stringpool stats. Also make Symbol_table support functions inline. 2007-12-05 00:48:49 +00:00
Ian Lance Taylor c420411fe8 From Craig Silverstein: Support irregular output files. 2007-12-04 23:42:28 +00:00
Ian Lance Taylor abaa399568 Print symbol table statistics with --stats. 2007-12-04 23:11:35 +00:00
Ian Lance Taylor 3ae7da37eb From Craig Silverstein: Use gold_fatal in options.h, beef up value checks. 2007-12-04 01:30:46 +00:00
Ian Lance Taylor be00d4e7ff More -fPIC options. 2007-12-01 06:53:32 +00:00
Ian Lance Taylor 763277c3c4 Add missing space. 2007-12-01 06:51:45 +00:00
Ian Lance Taylor c92003e082 Compile shared library code with -fPIC. Also, alphabetize. 2007-12-01 06:50:09 +00:00
Ian Lance Taylor ae3e2ab146 Add casts to avoid warnings. 2007-12-01 06:45:21 +00:00
Ian Lance Taylor 96803768f1 Compress all debug sections. 2007-12-01 06:34:12 +00:00
Ian Lance Taylor b589a5bc29 From Cary Coutant: Avoid compilation warnings if no zlib.h. 2007-11-30 22:38:01 +00:00
Ian Lance Taylor 9a0910c33e From Craig Silverstein: Add support for compressing .debug_str section. 2007-11-30 00:35:27 +00:00
Ian Lance Taylor 27bc2bce09 Clean up setting address and section offset. 2007-11-29 20:10:17 +00:00
Ian Lance Taylor 2d6840917d Don't try to delete the output file if we don't know its name yet. 2007-11-28 19:39:40 +00:00
Ian Lance Taylor ef04e3921e From Craig Silverstein: Fix up comments. 2007-11-28 19:38:35 +00:00
Ian Lance Taylor 79e052eafd From Craig Silverstein: Better handling of ODR violations which are
not in a function.
2007-11-28 18:01:06 +00:00
Ian Lance Taylor 4625f782a5 Rework merge_map for speed. 2007-11-27 06:13:33 +00:00
Ian Lance Taylor d8a8897678 Make Merge_key_less operator() inline. 2007-11-22 00:45:46 +00:00
Ian Lance Taylor c79126688f Add threading support. 2007-11-22 00:05:51 +00:00
Ian Lance Taylor 4f833eee90 From Craig Silverstein: Also set entsize for .debug_str sections. 2007-11-20 04:26:15 +00:00
Ian Lance Taylor 44a43cf96f From Craig Silverstein: Force .debug_str sections to be SHF_MERGE and
SHF_STRINGS.
2007-11-19 22:49:38 +00:00
Ian Lance Taylor dd8670e56c From Craig Silverstein: Quote the symbol name in the ODR violation
message to avoid a gcc collect2 demangling bug.
2007-11-17 02:49:22 +00:00
Craig Silverstein c282462d03 Released gold 0.8 2007-11-16 21:18:22 +00:00
Ian Lance Taylor 3e95a404c8 Ignore empty archives. 2007-11-16 18:44:20 +00:00
Ian Lance Taylor ff541f308a When looking for ODR violations, only check the file base name. Also,
never demangle if --no-demangle was used.
2007-11-16 16:54:19 +00:00
Ian Lance Taylor 124dfc8994 DW_LNE_end_sequence indicates that the address points to the byte
*after* the current target sequence.
2007-11-16 06:47:53 +00:00
Ian Lance Taylor 4f4c5f80c7 From Cary Coutant: Count textrel with output sections rather than
setting a flag as we add each reloc in the target code.
2007-11-15 23:46:46 +00:00
Ian Lance Taylor 02d2ba7402 From Craig Silverstein: Add --strip-debug-gdb. 2007-11-15 23:03:45 +00:00
Ian Lance Taylor b01c0a4adb Workaround bug in gcc 4.0.3 STL. 2007-11-15 20:41:19 +00:00
Ian Lance Taylor a2b1aa12f7 From Craig Silverstein: Add support for --demangle. 2007-11-15 01:12:55 +00:00
Ian Lance Taylor 07f397aba3 From Cary Coutant: Improve i386 shared library TLS support. 2007-11-14 22:31:02 +00:00
Ian Lance Taylor 78f156961e From Craig Silverstein: Report output file name with ODR violation
warning message.
2007-11-14 18:44:58 +00:00
Ian Lance Taylor eb01e199fd If generating a .err file fails, remove it. 2007-11-14 18:37:00 +00:00
Ian Lance Taylor a18f2bd699 From Craig Silverstein: Clean up DWARF line reader code. 2007-11-14 18:33:47 +00:00
Ian Lance Taylor 9a2d698415 Add heuristics for undefined symbol warnings. 2007-11-14 16:53:25 +00:00
Ian Lance Taylor 3e6fe5ae73 Comment out undef_symbol.err for now. 2007-11-14 15:24:08 +00:00
Ian Lance Taylor 1ce71f59c7 Default to --allow-shlib-undefined for now. 2007-11-14 09:39:13 +00:00
Ian Lance Taylor 601e4987b8 Revert last patch. 2007-11-14 08:03:41 +00:00
Ian Lance Taylor 3728821ffc Support special always-defined symbols for targets. 2007-11-14 07:52:21 +00:00
Ian Lance Taylor e2827e5f52 Warn about undefined references in shared libraries if we have seen
all the DT_NEEDED entries for that library.
2007-11-14 07:34:53 +00:00
Ian Lance Taylor a55ce7febf From Craig Silverstein: Rework debug info code a bit, add option for
ODR violations, add test case.
2007-11-14 01:03:01 +00:00
Ian Lance Taylor 70e654ba48 From Craig Silverstein: First cut at detecting ODR violations. 2007-11-13 20:02:32 +00:00
Ian Lance Taylor af674d1d6c From Craig Silverstein: Support debug info for shared libraries. 2007-11-13 01:26:27 +00:00
Ian Lance Taylor c261a0be88 From Craig Silverstein: Dwarf_line_info can work with Object rather
than Sized_relobj.
2007-11-12 20:55:53 +00:00
Ian Lance Taylor b696e6d46c From Craig Silverstein: Track_relocs doesn't need to hold onto the
object.
2007-11-12 20:35:21 +00:00
Ian Lance Taylor 24badc6562 From Craig Silverstein: rework DWARF reader code a bit. 2007-11-12 19:56:20 +00:00
Ian Lance Taylor 386c048c7a Correct handling of GOT references in a regular object. 2007-11-12 17:51:55 +00:00
Ian Lance Taylor aed38d0694 From Craig Silverstein: Initialize got_relocs. 2007-11-09 23:56:32 +00:00
Ian Lance Taylor d12348b848 From Craig Silverstein: Clean up make rules for debug_msg. 2007-11-09 23:35:19 +00:00
Ian Lance Taylor f0323c2f68 From Craig Silverstein: Add test for debug messages. 2007-11-09 23:19:11 +00:00
Ian Lance Taylor 4c50553d98 From Craig Silverstein: Use relocations in reporting error message
locations.
2007-11-09 23:16:54 +00:00
Ian Lance Taylor d61c6bd41c From Cary Coutant: More shared library support, some refactorization. 2007-11-09 19:45:08 +00:00
Ian Lance Taylor 338f2eba1a From Cary Coutant: mark negative constant as unsigned. 2007-11-09 07:03:14 +00:00
Ian Lance Taylor 730cdc88f7 Generate a complete exception frame header. Discard duplicate
exception frame information.
2007-11-09 07:00:15 +00:00
Ian Lance Taylor 868870607e From Craig Silverstein and Cary Coutant: fix assignment of section
indexes to sections which are not associated with segments.
2007-11-07 22:33:30 +00:00
Ian Lance Taylor 91ea499d4a Check that we don't set the output section index twice. 2007-11-07 18:29:34 +00:00
Ian Lance Taylor e43872e995 From Craig Silverstein: Templatize the Dwarf reader. 2007-11-07 00:49:56 +00:00
Ian Lance Taylor a7a81c1d9d From Craig Silverstein: Handle a .so file in a .a file. 2007-11-07 00:45:05 +00:00
Ian Lance Taylor 019cdb1a59 From Craig Silverstein: Don't crash if we see a file we don't recognize. 2007-11-07 00:31:32 +00:00
Ian Lance Taylor 5c2c6c957b From Craig Silverstein: Add first version of generating error messages
with file name and line number.
2007-11-02 23:02:44 +00:00
Ian Lance Taylor 86849f1fac From Cary Coutant: Correct generation of RELATIVE relocs. 2007-11-02 04:08:52 +00:00
Ian Lance Taylor f7e2ee4820 Reworked from Andrew Chatham: report error locations. 2007-11-02 03:28:52 +00:00
Ian Lance Taylor 96f2030e25 From Cary Coutant: More support for -shared, including fixes to GOT
handling.
2007-11-01 00:19:30 +00:00
Ian Lance Taylor a0451b389c From Craig Silverstein: Implement OPTION in linker scripts. 2007-10-30 06:27:03 +00:00
Ian Lance Taylor c1866bd5e3 Adjust PLTOFF64 calculation. 2007-10-30 04:23:19 +00:00
Ian Lance Taylor ee9e9e8644 From Craig Silverstein: Implement GOTPLT64 and PLTOFF64. 2007-10-30 01:21:51 +00:00
Ian Lance Taylor fdc2f80f7e From Craig Silverstein: Clean up some unnecessary TODO markers. 2007-10-29 23:36:39 +00:00
Ian Lance Taylor 5662214762 From Craig Silverstein: better organization for TLS code. 2007-10-29 20:09:35 +00:00
Ian Lance Taylor 41e92bc528 From Craig Silverstein: Remove extraneous comment. 2007-10-29 17:12:11 +00:00
Ian Lance Taylor dba5a01fdc From Cary Coutant: Set offsets of sections with data before finalizing
local symbols.
2007-10-27 00:36:52 +00:00
Ian Lance Taylor 3c2fafa531 From Craig Silverstein and Ian Lance Taylor: Process --script option. 2007-10-27 00:29:34 +00:00
Ian Lance Taylor e536689126 Simplify some code to avoid extra tests of number of objects. 2007-10-26 22:27:52 +00:00
Ian Lance Taylor 195e7dc6c1 From Craig Silverstein: preliminary support for OPTION in linker script. 2007-10-26 22:16:06 +00:00
Ian Lance Taylor 2c0aeda459 Exit if we couldn't open any input files. 2007-10-26 22:12:03 +00:00
Ian Lance Taylor 5d57def3b3 From Craig Silverstein: Minimal --script implementation. 2007-10-26 18:03:24 +00:00
Ian Lance Taylor fa99aa0984 Use AC_GNU_SOURCE. 2007-10-24 18:11:23 +00:00
Ian Lance Taylor 35cdfc9a87 Add support for PT_GNU_STACK. 2007-10-23 05:05:48 +00:00
Ian Lance Taylor 46fe162319 Fix versions of copied symbols. 2007-10-22 23:08:22 +00:00
Ian Lance Taylor 6161122258 Implement -Bstatic/-Bdynamic. 2007-10-22 18:04:43 +00:00
Ian Lance Taylor ee6d2efee9 Correct locking if a file could not be opened. 2007-10-22 18:02:36 +00:00
Ian Lance Taylor 291eaac6ab From Craig Silverstein: add cast to avoid warning. 2007-10-20 04:35:43 +00:00
Ian Lance Taylor f389a824b8 From Craig Silverstein: handle PLT32 relocs against local symbols for
x86_64.
2007-10-20 04:33:21 +00:00
Ian Lance Taylor df2efe713a Handle PLT32 against local symbols. 2007-10-20 00:33:31 +00:00
Ian Lance Taylor 28ef317915 Add wide string constant test. 2007-10-19 23:38:40 +00:00
Ian Lance Taylor fa1bd4fb25 Fix handling of wide string merge sections. 2007-10-19 23:33:37 +00:00
Ian Lance Taylor 51b08ebe94 Add support for -Bsymbolic. 2007-10-18 23:20:53 +00:00
Ian Lance Taylor af4a8a833e Rework section mapping algorithm to handle .data.rel.ro sections. 2007-10-18 19:56:12 +00:00
Ian Lance Taylor 87f9577614 Correctly handle alignment in merge sections. 2007-10-18 17:46:23 +00:00
Ian Lance Taylor fe9a4c1201 Add infrastructure for threading support. 2007-10-17 06:24:50 +00:00
Ian Lance Taylor 436ca963fd From Cary Coutant: preliminary shared library support. 2007-10-16 23:23:08 +00:00
Ian Lance Taylor a360aedd0f From Craig Silverstein: check that we get environ right. 2007-10-16 23:09:45 +00:00
Ian Lance Taylor 0c5e9c22aa From Craig Silverstein: implement -Ttext. 2007-10-16 22:38:36 +00:00
Ian Lance Taylor 1b64748bed From Craig Silverstein: support local GOT relocs for i386. 2007-10-16 00:42:36 +00:00
Ian Lance Taylor 72ec287661 From Craig Silverstein: add LD to LE TLS optimizations. 2007-10-15 03:39:16 +00:00
Ian Lance Taylor 5ffcaa866f From Craig Silverstein: call unlink_if_ordinary. 2007-10-15 03:35:35 +00:00
Ian Lance Taylor cd4662c7e4 Fix exit status. 2007-10-15 03:33:03 +00:00
Ian Lance Taylor aeddab66fe Keep track of weak aliases, so that overriding environ works. 2007-10-14 15:35:27 +00:00
Ian Lance Taylor ad435a2465 Adjust linkonce symbol name algorithm to work for
.gnu.linkonce.t.__i686.get_pc_thunk.bx.
2007-10-14 07:27:10 +00:00
Ian Lance Taylor d20222a1e7 Better multiple definition errors. 2007-10-14 07:10:20 +00:00
Ian Lance Taylor a0c4fb0ac6 Remove extraneous newlines. 2007-10-14 06:57:58 +00:00
Ian Lance Taylor ac2d295e92 Remove extraneous newline. 2007-10-14 06:54:56 +00:00
Ian Lance Taylor 75f2446ec3 Run all error handling through an Errors object. Delete output file
on error.
2007-10-14 06:49:14 +00:00
Ian Lance Taylor eb4dfdd470 Fix typo in comment. 2007-10-14 04:10:25 +00:00
Ian Lance Taylor 27b7985a73 From Craig Silverstein: add some internationalization calls. 2007-10-14 04:06:18 +00:00
Ian Lance Taylor 097ec620e1 Only run static TLS tests on glibc 2.4 or later. 2007-10-14 03:57:22 +00:00
Ian Lance Taylor 8261e3bfa5 From Craig Silverstein: TLS test cleanups. 2007-10-14 03:23:38 +00:00
Ian Lance Taylor e2305dc04c From Craig Silverstein: always use 32-bit format for gold note. 2007-10-14 03:12:53 +00:00
Ian Lance Taylor 4eff2974c2 From Craig Silverstein: error if we see a dynamic object when the
-static option was given.
2007-10-14 02:52:13 +00:00
Ian Lance Taylor e041f13d5a From Craig Silverstein: use tls.h in x86_64.cc. 2007-10-13 00:15:07 +00:00
Ian Lance Taylor e03748586c From Craig Silverstein: expand the TLS test to a second file, to test
IE to LE conversion.
2007-10-12 17:32:20 +00:00
Ian Lance Taylor cfd73a4e26 Add an option for Stringpools to not copy strings. 2007-10-12 06:06:34 +00:00
Ian Lance Taylor 0ffd9845f2 From Craig Silverstein: improve x86_64 TLS support. 2007-10-12 06:00:55 +00:00
Ian Lance Taylor e44fcf3bcf Add --stats option to print runtime and memory usage statistics. 2007-10-12 05:51:25 +00:00
Ian Lance Taylor 7d00dcbd9c From Andrew Chatham: exit on relocation error. 2007-10-11 19:13:02 +00:00
Ian Lance Taylor 46738c9aeb From Craig Silverstein: don't permit -s and -r. 2007-10-10 19:30:39 +00:00
Ian Lance Taylor 9e2dcb779c Implement -s and -S options which strip symbols. 2007-10-10 19:02:56 +00:00
Ian Lance Taylor cec9d2f362 From Craig Silverstein: don't get confused if the same file name
occurs in an archive.
2007-10-10 06:33:56 +00:00
Ian Lance Taylor 4e9d858638 From Craig Silverstein: delete the output file first if it exists and
is non-empty.
2007-10-10 06:29:10 +00:00
Ian Lance Taylor 4f211c8bff Create a note section with the version of gold. 2007-10-09 21:37:55 +00:00
Ian Lance Taylor e2aacd2c75 Fix soname for library found in search path. 2007-10-09 17:46:15 +00:00
Ian Lance Taylor e982104129 Make TLS test fail more reliably. 2007-10-08 07:24:21 +00:00