Commit Graph

374 Commits

Author SHA1 Message Date
Ian Lance Taylor
2030fba084 Move Stringpool offsets into a chunked_vector indexed by keys. 2007-12-19 01:23:46 +00:00
Ian Lance Taylor
9bb53bf8b8 Avoid some warnings which showed up in 64-bit mode. 2007-12-19 01:18:41 +00:00
Ian Lance Taylor
c0873094f5 Use string length when available when calling Stringpool. Compare
pointers first when looking up Stringpool entries.
2007-12-19 00:29:28 +00:00
Ian Lance Taylor
0205c1752c Don't write unattached after_input sections twice. 2007-12-18 21:45:28 +00:00
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