Commit Graph

241 Commits

Author SHA1 Message Date
Ian Lance Taylor 13670ee669 Support --hash-style=gnu. 2008-03-06 00:15:04 +00:00
Ian Lance Taylor ee1fe73e11 From Craig Silverstein: rework option handling to make it easier to
add a new option.
2008-03-04 23:10:38 +00:00
Ian Lance Taylor 7cc619c3b1 From Craig Silverstein: rename some option functions in preparation
for reworking option handling.
2008-03-04 18:21:43 +00:00
Ian Lance Taylor 7d1a9ebbf2 Remove gcc 3.2 compatibility hacks. 2008-02-29 19:19:17 +00:00
Ian Lance Taylor 919ed24cbc Don't check assertions until symbols are finalized. Create an output
section if the script uses a data statement with no input sections.
Don't create a loadable segment for the headers if there is no room.
2008-02-28 04:45:47 +00:00
Ian Lance Taylor 15cf077ef4 Put input sections with no flags in output sections with the same name. 2008-02-28 00:51:07 +00:00
Ian Lance Taylor 8851eccaec From Craig Silverstein: Have Parameters point to General_options. 2008-02-28 00:18:24 +00:00
Ian Lance Taylor 7019cd2565 Implement -q/--emit-relocs. 2008-02-27 22:38:18 +00:00
Ian Lance Taylor a5dc070655 From Craig Silverstein: rework handling of Script_options. 2008-02-26 22:48:08 +00:00
Ian Lance Taylor 45aa233bdc From Craig Silverstein: rename option functions for future option
handling rewrite.
2008-02-26 21:45:30 +00:00
Ian Lance Taylor 756ac4a80d Implement -Tdata and -Tbss. 2008-02-13 22:47:28 +00:00
Ian Lance Taylor 4e8fe71f6c Set TEXTREL correctly when using a SECTIONS clause. 2008-02-12 00:24:00 +00:00
Ian Lance Taylor bc644c6cfc Add support for --format binary for input files. 2008-02-08 07:06:58 +00:00
Ian Lance Taylor 516cb3d01e Support --oformat binary. 2008-02-07 07:33:46 +00:00
Ian Lance Taylor 88dd47ac00 Implement --just-symbols, including -R FILE. Fix symbol values when
doing a relocatable link.
2008-02-07 01:51:25 +00:00
Ian Lance Taylor fbfba50887 Support creating empty output when there are no input objects. 2008-02-06 20:32:10 +00:00
Ian Lance Taylor 755ab8af10 Fix group signature handling for relocatable link, add bootstrap
relocatable test.
2008-02-06 19:32:32 +00:00
Ian Lance Taylor 6a74a71947 Initial -r support. 2008-02-06 08:13:50 +00:00
Ian Lance Taylor 1c4f3631bd Implement PHDRS. 2008-02-04 22:54:31 +00:00
Ian Lance Taylor 3802b2dd6b Implement SIZEOF_HEADERS, section constraints, other minor linker
script items.
2008-02-04 06:45:50 +00:00
Ian Lance Taylor a445fddf82 Fully implement the SECTIONS clause. 2008-02-04 05:43:05 +00:00
Ian Lance Taylor 9b07f471e3 Don't pass around the target in order to define symbols; get it from
the parameters instead.
2008-01-26 01:17:45 +00:00
Ian Lance Taylor 55a934330a Originally from Craig Silverstein, with changes: support using a
version script to force symbols to be local.
2008-01-24 00:15:00 +00:00
Ian Lance Taylor 14144f39e4 Don't include options.h in fileread.h. Remove General_options
reference from Output_file class.
2008-01-18 23:26:48 +00:00
Ian Lance Taylor 091244672e From Andrew Chatham and Craig Silverstein: Add support for version
scripts.
2008-01-15 23:41:28 +00:00
Ian Lance Taylor e5756efb6d Support assignments and expressions in linker scripts. 2008-01-09 19:57:45 +00:00
Ian Lance Taylor d391083d3c Add support for -e and for ENTRY in linker scripts. 2008-01-06 00:47:10 +00:00
Ian Lance Taylor fced7afdce Add -h/-soname option. 2008-01-04 05:35:24 +00:00
Ian Lance Taylor cb29561284 Reduce the number of system calls. Use readv instead of pread. Do
better handling of cached views.
2008-01-02 23:48:49 +00:00
Ian Lance Taylor a9a60db689 Speed up relocations against local symbols in merged sections. 2007-12-21 21:19:45 +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 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 6d01333390 From Craig Silverstein: size hash tables to avoid resizing. 2007-12-14 05:24:17 +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 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 4117d76827 Fix ehframe header handling for shared libraries. 2007-12-07 06:44:01 +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 ad8f37d1ba Stringpool stats. Also make Symbol_table support functions inline. 2007-12-05 00:48:49 +00:00
Ian Lance Taylor 96803768f1 Compress all debug sections. 2007-12-01 06:34:12 +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 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 07f397aba3 From Cary Coutant: Improve i386 shared library TLS support. 2007-11-14 22:31:02 +00:00
Ian Lance Taylor 9a2d698415 Add heuristics for undefined symbol warnings. 2007-11-14 16:53:25 +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 96f2030e25 From Cary Coutant: More support for -shared, including fixes to GOT
handling.
2007-11-01 00:19:30 +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 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 af4a8a833e Rework section mapping algorithm to handle .data.rel.ro sections. 2007-10-18 19:56:12 +00:00
Ian Lance Taylor 436ca963fd From Cary Coutant: preliminary shared library support. 2007-10-16 23:23:08 +00:00
Ian Lance Taylor 0c5e9c22aa From Craig Silverstein: implement -Ttext. 2007-10-16 22:38:36 +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 cfd73a4e26 Add an option for Stringpools to not copy strings. 2007-10-12 06:06:34 +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 9e2dcb779c Implement -s and -S options which strip symbols. 2007-10-10 19:02:56 +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 ad2d6943a4 Full support for --sysroot. 2007-10-04 05:49:04 +00:00
Ian Lance Taylor f5c3f2256f From Craig Silverstein: avoid some signed/unsigned warnings from gcc 4.2. 2007-10-02 20:52:18 +00:00
Ian Lance Taylor 9025d29d14 Put size and endianness in parameters. 2007-09-26 07:01:35 +00:00
Ian Lance Taylor 3151305a47 Add basic exception frame header, plus test. 2007-09-26 05:44:38 +00:00
Ian Lance Taylor a0fa0c0798 Fix typo in comment. 2007-09-23 19:50:33 +00:00
Ian Lance Taylor 6cb15b7f89 Add licensing text to every source file. 2007-09-22 21:02:10 +00:00
Ian Lance Taylor bfd58944a6 Define __start and __stop symbols. 2007-09-22 04:42:09 +00:00
Ian Lance Taylor 7e1edb9089 Add global parameters. 2007-09-21 07:20:01 +00:00
Ian Lance Taylor c51e6221b8 Use nops when doing alignment padding between code sections. 2007-09-21 05:31:19 +00:00
Ian Lance Taylor 31365f57ae Don't try to find version definition index when creating an executable. 2007-09-12 00:30:59 +00:00
Ian Lance Taylor 193a53d920 Add support for --enable-target to control which template
specializations we generate.
2007-09-04 20:00:53 +00:00
Ian Lance Taylor 0496d5e5b4 Force PT_LOAD segments to be aligned to the page size. 2007-08-21 21:03:50 +00:00
Ian Lance Taylor 41f542e70b Add support for -rpath. 2007-08-21 20:37:32 +00:00
Ian Lance Taylor b8e6aad960 Add support for SHF_MERGE sections. 2007-05-16 17:42:48 +00:00
Ian Lance Taylor 91da9340cc gcc 3.2.2 and 4.1.0 portability hacks. 2006-12-06 00:28:03 +00:00
Ian Lance Taylor 14b3174058 Generate version information. 2006-12-06 00:02:36 +00:00
Ian Lance Taylor 16649710df Can now dynamically link hello, world. 2006-12-01 16:51:25 +00:00
Ian Lance Taylor 5a6f7e2db5 Added a testsuite. More support for COPY relocations. 2006-11-30 23:52:50 +00:00
Ian Lance Taylor a3ad94edd4 Hash tables, dynamic section, i386 PLT, gold_assert. 2006-11-29 17:56:40 +00:00
Ian Lance Taylor c06b7b0ba3 Snapshot. Includes first cut at output relocation sections. 2006-11-16 00:38:25 +00:00
Ian Lance Taylor dbe717effb More dynamic object support, initial scripting support. 2006-11-14 19:21:05 +00:00
Ian Lance Taylor f0641a0b38 Rework stringpool and hash tables so that we always generate the same
output regardless of randomize_va_space.
2006-11-07 04:40:46 +00:00
Ian Lance Taylor f6ce93d6e9 Split Object into Dynobj and Relobj, incorporate elfcpp swapping changes. 2006-11-06 22:46:08 +00:00
Ian Lance Taylor ead1e4244a Can now do a full static link of hello, world in C or C++ 2006-11-03 18:26:11 +00:00
Ian Lance Taylor 92e059d8dc Framework for relocation scanning. Implement simple static TLS
relocations.
2006-10-20 20:40:49 +00:00
Ian Lance Taylor 12e14209f0 Lay out object file sections when we add the symbols to the symbol
table.
2006-10-06 20:40:16 +00:00
Ian Lance Taylor 61ba1cf936 Snapshot. Now able to produce a minimal executable which actually
runs.
2006-09-29 19:58:17 +00:00
Ian Lance Taylor 75f65a3e30 Finished layout code. 2006-09-27 22:53:42 +00:00
Ian Lance Taylor 54dc642545 More section layout code. 2006-09-26 21:00:34 +00:00
Ian Lance Taylor a2fb1b05e4 New drop, with first cut of section layout code. 2006-09-21 22:13:18 +00:00