Commit graph

613 commits

Author SHA1 Message Date
Ian Lance Taylor
2fb69fac7a From Andrew Chatham: fix bug in 64-bit hash. 2007-10-05 17:36:31 +00:00
Ian Lance Taylor
d61c17ea24 From Craig Silverstein: x86_64 TLS support. 2007-10-04 22:28:36 +00:00
Ian Lance Taylor
ad2d6943a4 Full support for --sysroot. 2007-10-04 05:49:04 +00:00
Ian Lance Taylor
ff0065209a From Craig Silverstein: get all x86_64 tests passing. 2007-10-03 20:50:53 +00:00
Ian Lance Taylor
4fb6c25d50 From Craig Silverstein: set symbol value for function pointer
equality across shared library boundaries.
2007-10-03 05:40:11 +00:00
Ian Lance Taylor
6340166c8b Parameterize object_unittest to work for whatever target types are
supported.
2007-10-03 00:34:49 +00:00
Ian Lance Taylor
63402fe413 From Craig Silverstein: don't run function pointer non-PIC tests when
they won't work.
2007-10-02 22:45:07 +00:00
Ian Lance Taylor
e84992bbac From Craig Silverstein: correct x86_64 dynamic tags. 2007-10-02 22:10:10 +00:00
Ian Lance Taylor
51dee2fec3 From Craig Silverstein: add support for searching for input files
named in linker scripts.
2007-10-02 21:24:41 +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
7bb3655e07 Cleanups from Craig Silverstein. 2007-10-01 23:42:58 +00:00
Ian Lance Taylor
e822f2b19a From Craig Silverstein: New version of x86_64.cc. 2007-10-01 22:21:58 +00:00
Ian Lance Taylor
2e30d253b7 From Craig Silverstein: x86_64 support. 2007-10-01 21:30:59 +00:00
Ian Lance Taylor
5b3463d9ee Add Signed_valtype and use it for sign extension. Fix names of rela8. 2007-10-01 21:25:23 +00:00
Ian Lance Taylor
d830e0e0c9 Add RELA versions of the relocation routines. Original patch from
Craig Silverstein, with Symbol_value<> versions added.
2007-10-01 00:05:08 +00:00
Ian Lance Taylor
6df6da4a61 Clean up target handling--only build required files, warn about
unsupported targets.
2007-09-30 23:41:32 +00:00
Ian Lance Taylor
b3b74ddc6e Use parameters to track whether we are doing a static link. Fix up
final_value_is_known for weak undefined symbols.  Pointed out by Cary
Coutant.
2007-09-28 06:36:25 +00:00
Ian Lance Taylor
dfbba8f432 From Andrew Chatham: add signedrel<>, rel32s and friends. 2007-09-28 06:00:26 +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
d1038c216f Use mmap to read from input files. 2007-09-25 23:08:30 +00:00
Ian Lance Taylor
9eb9fa57c2 Add cache parameter to get_view. Discard uncached views on unlock.
Fix bug this exposed in archive armap symbol name handling.
2007-09-25 17:50:26 +00:00
Ian Lance Taylor
82dcae9de0 Rework File_read interface. Get file size. Use pread when
available.
2007-09-25 06:43:17 +00:00
Ian Lance Taylor
bae3688d8f Remove get_view_and_size. 2007-09-25 05:16:35 +00:00
Ian Lance Taylor
ba45d2478b Break out default pbytes argument to read and get_view routines,
adding new routines.
2007-09-25 00:27:29 +00:00
Ian Lance Taylor
e5851e4e66 From Craig Silverstein: Fix bug when reading large script files. 2007-09-24 17:09:50 +00:00
Ian Lance Taylor
a0fa0c0798 Fix typo in comment. 2007-09-23 19:50:33 +00:00
Ian Lance Taylor
3bd52c2885 Add two file test. 2007-09-23 05:35:51 +00:00
Ian Lance Taylor
ab5c9e90a6 Use special value when we refer a function symbol in some way other
than calling it.
2007-09-23 05:31:48 +00:00
Ian Lance Taylor
cb615bc189 Add static version of constructor test. 2007-09-23 03:25:29 +00:00
Ian Lance Taylor
d50266522c Add constructor test. 2007-09-23 03:18:42 +00:00
Ian Lance Taylor
9d7094e840 Check section index as well as object when looking for input section. 2007-09-23 03:17:38 +00:00
Ian Lance Taylor
c077629be8 Avoid dereferencing map->end(). 2007-09-23 03:16:47 +00:00
Ian Lance Taylor
d98a37563c Correct comment. 2007-09-22 23:37:35 +00:00
Ian Lance Taylor
56ba9a23db Rename t1 to basic_test, add static tests. 2007-09-22 23:36:01 +00:00
Ian Lance Taylor
22dc1b094d Add standalone test case. 2007-09-22 22:44:33 +00:00
Ian Lance Taylor
4991e922ef Change YFLAGS to AM_YFLAGS. 2007-09-22 22:44:04 +00:00
Ian Lance Taylor
6cb15b7f89 Add licensing text to every source file. 2007-09-22 21:02:10 +00:00
Ian Lance Taylor
537b5f51e5 Add bootstrap test. 2007-09-22 20:11:12 +00:00
Ian Lance Taylor
d4f5281bde It's OK to have a version if we have an existing symbol. 2007-09-22 20:08:16 +00:00
Ian Lance Taylor
42e3fe0dd9 We don't need a hash table mapping input locations to strings. 2007-09-22 05:38:12 +00:00
Ian Lance Taylor
e214a02b9b From Andrew Chatham: Make File_read::View::data_ a const pointer. 2007-09-22 05:03:56 +00:00
Ian Lance Taylor
bfd58944a6 Define __start and __stop symbols. 2007-09-22 04:42:09 +00:00
Ian Lance Taylor
306d9ef048 Canonicalize name and version when working with special symbols. 2007-09-22 04:40:13 +00:00
Ian Lance Taylor
cddcc9d6b0 Update. 2007-09-22 04:38:33 +00:00
Ian Lance Taylor
04df9a5751 Fix some errors in symbol placement. 2007-09-22 04:38:13 +00:00
Ian Lance Taylor
377caf49a5 From Craig Silverstein: Only sort for suffixes with -O2. 2007-09-21 15:54:07 +00:00
Ian Lance Taylor
80576242ab Initialize count_ field, tweak parameters testing. 2007-09-21 07:34:51 +00:00
Ian Lance Taylor
7e1edb9089 Add global parameters. 2007-09-21 07:20:01 +00:00
Ian Lance Taylor
be9d5a933e Update for have_code_fill field. 2007-09-21 06:25:35 +00:00
Ian Lance Taylor
6724bacc98 Actually define GOLD_GOLD_H multiple inclusion macro. 2007-09-21 06:25:19 +00:00
Ian Lance Taylor
a8b2552e07 Set Stringpool zero_null option via a call, not a default constructor
argument.
2007-09-21 06:12:32 +00:00
Ian Lance Taylor
ca3a67a5cf From Craig Silverstein: Add -O option. 2007-09-21 05:43:33 +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
8c838dbd52 Fix comment. 2007-09-20 19:31:54 +00:00
Ian Lance Taylor
cba134d613 From Cary Coutant: only check for a linkonce section if the SHF_GROUP
flag is clear.
2007-09-20 06:02:06 +00:00
Ian Lance Taylor
a93d6d0708 Rework patch to check by both armap entry and archive offset. Also,
preserve information for --group.
2007-09-20 05:56:14 +00:00
Ian Lance Taylor
e243ffc667 From Craig Silverstein: rework seen handling to be based on archive
offsets rather than entries in archive symbol table.
2007-09-20 05:43:14 +00:00
Ian Lance Taylor
192f9b8501 Fix handling of --eh-frame-hdr option. 2007-09-19 23:50:56 +00:00
Ian Lance Taylor
bc56b3fb3a Note that a Stringpool keeps a copy of a string. 2007-09-19 20:44:15 +00:00
Ian Lance Taylor
835965e646 Better comments for Stringpool. 2007-09-19 17:38:00 +00:00
Ian Lance Taylor
86f2e68346 Let special symbols override existing symbols rather than
reinitializing them.
2007-09-19 06:02:29 +00:00
Ian Lance Taylor
8ae3da9046 Add control over template specialization. 2007-09-19 06:01:35 +00:00
Ian Lance Taylor
614f30a283 Compute string lengths before sorting. From Craig Silverstein. 2007-09-18 05:16:39 +00:00
Ian Lance Taylor
8462ae85e4 Generate a GLOB_DAT reloc for a GOT32 reloc against a symbol defined
in a dynamic object.
2007-09-12 16:38:04 +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
92f0e169b4 Only create a version definition for a shared library. Set the
dynamic symbol index for a version definition when finalizing
versions.
2007-09-11 22:57:35 +00:00
Ian Lance Taylor
15b3cfae2b Add -rpath-link option, currently unused. 2007-09-06 23:37:53 +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
64707334c7 Ignore VER_NDX_LOCAL for an undefined symbol. 2007-09-04 17:59:53 +00:00
Ian Lance Taylor
429c15693c Any symbol which is in both a regular object and a dynamic object
requires an entry in the dynamic symbol table.
2007-08-29 05:48:24 +00:00
Ian Lance Taylor
1ebd95fdf1 Copy in_reg and in_dyn when resolving NAME/VERSION with NAME/NULL. 2007-08-29 03:42:51 +00:00
Ian Lance Taylor
0d4f1889b5 Set in_dyn_ and in_reg_ when overriding a symbol. 2007-08-28 04:12:19 +00:00
Ian Lance Taylor
f4151f8959 Initialize plt_offset_ and has_plt_offset_ in a Symbol. 2007-08-28 04:11:50 +00:00
Ian Lance Taylor
7da52175b6 Recognize and ignore the --eh-frame-hdr option. 2007-08-22 17:07:36 +00:00
Ian Lance Taylor
a6badf5a97 Add support for -E/--export-dynamic. Also clean up --help output a bit. 2007-08-22 05:06:38 +00:00
Ian Lance Taylor
4973341a7d Implement --whole-archive. 2007-08-21 23:37:56 +00:00
chatham
72a2eed757 Make relative references in linker scripts absolute and update a
comment about relocate() being called.
2007-08-21 21:29:12 +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
008db82ec1 Don't emit symbols seen only in dynamic object, don't read duplicate
dynamic object.
2006-12-06 06:28:56 +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
6a4699867a gcc 3.2.2 portability hacks. 2006-12-01 16:58:12 +00:00
Ian Lance Taylor
16649710df Can now dynamically link hello, world. 2006-12-01 16:51:25 +00:00
Ian Lance Taylor
1ddbd1e617 gcc 3.2.2 portability hacks. 2006-12-01 00:10:37 +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
645f81233b Add Elf_file interface which can be used by both Sized_relobj and
Sized_dynobj.
2006-11-07 18:51:39 +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
652ec9bd89 Ignored the -m option, for old linker compatibility. 2006-11-03 18:48:03 +00:00
Ian Lance Taylor
dd32f77868 Update for line number changes. 2006-11-03 18:41:59 +00:00
Ian Lance Taylor
593f47df45 gcc 3.2.2 portability hacks. 2006-11-03 18:38:43 +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
a783673bd6 Avoid multiple definition errors from linkonce sections. 2006-10-10 18:54:06 +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
5482377ddc Clean up HAVE_MEMBER_TEMPLATE_SPECIFICATIONS somewhat. 2006-09-29 22:34:01 +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
b3168e9da3 gcc 4.1.0 portability fixes. 2006-09-26 21:53:18 +00:00
Ian Lance Taylor
274e99f9ae g++ 3.2.2 portability fixes. 2006-09-26 21:50:25 +00:00
Ian Lance Taylor
d288e464ac g++ 3.2.2 portability for grhat. 2006-09-26 21:20:56 +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
Ian Lance Taylor
1564db8db6 More symbol resolution code. 2006-09-07 21:21:41 +00:00
Ian Lance Taylor
14bfc3f555 Another snapshot of the current state of the sources. Gets to the
point of symbol resolution and can now issue a multiple definition
error.  Also added target selection infrastructure.
2006-08-18 22:29:20 +00:00
Ian Lance Taylor
c33feb2b3c Include <cassert> 2006-08-04 23:20:34 +00:00
Ian Lance Taylor
bae7f79e03 Initial CVS checkin of gold 2006-08-04 23:10:59 +00:00