Cary Coutant
e9c1bdad26
Fix --dynamic-list so that symbols not in the list are still exported.
...
In PR 13577, the complaint was that -Bsymbolic was overriding the binding
behavior for symbols listed in the --dynamic-list by setting the DT_SYMBOLIC
tag in the dynamic table. In reading the Gnu ld manual, I decided that
--dynamic-list should be mutually exclusive of -Bsymbolic, and modified
gold so that --dynamic-list would treat symbols listed as preemptible,
and all other symbols as internally bound. I was wrong.
PR 16992 shows that with --dynamic-list (and not -Bsymbolic), a symbol
not listed in the dynamic list is being internally bound within the
shared library, but because it's still in the dynamic symbol table, we
expose it to a COPY relocation, and things go really bad from there.
(I can reproduce the same failure, simply by turning on -Bsymbolic-functions
with the Gnu linker. Even though the symbol is bound internally, it's
still exported to the dynamic symbol table, and is exposed to a COPY
relocation.)
I've backed out part of the fix for PR 13577, and -Bsymbolic (or
-Bsymbolic-functions) can now be used with --dynamic-list, but if the
two are used together, we do not set DT_SYMBOLIC or DF_SYMBOLIC
(this matches Gnu ld behavior). We now treat symbols listed in the
dynamic list as premptible, but we do not automatically treat symbols
not listed there as non-premptible.
gold/
PR gold/13577
PR gold/16992
* layout.cc (Layout::finish_dynamic_section): Don't set DT_SYMBOLIC or
DF_SYMBOLIC if --dynamic-list option is used.
* options.cc (General_options::finalize): --dynamic-list is not
mutually exclusive with -Bsymbolic.
* symtab.h (Symbol::is_preemptible): Don't exclude dynamic symbols not
listed in --dynamic-list.
* testsuite/Makefile.am (dynamic_list_lib2.so): Add
-Bsymbolic-functions.
* testsuite/Makefile.in: Regenerate.
2015-02-16 22:15:12 -08:00
..
2010-02-12 05:51:32 +00:00
2015-01-02 00:53:45 +10:30
2010-02-12 05:51:32 +00:00
2010-05-13 02:41:15 +00:00
2010-05-13 02:41:15 +00:00
2010-05-13 02:41:15 +00:00
2010-05-13 02:41:15 +00:00
2015-01-02 00:53:45 +10:30
2010-02-22 06:26:07 +00:00
2010-09-08 23:54:51 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2010-09-08 23:54:51 +00:00
2010-09-08 23:54:51 +00:00
2010-09-08 23:54:51 +00:00
2010-09-08 23:54:51 +00:00
2010-09-08 23:54:51 +00:00
2010-09-08 23:54:51 +00:00
2010-09-08 23:54:51 +00:00
2015-01-02 00:53:45 +10:30
2012-03-19 23:54:07 +00:00
2015-01-02 00:53:45 +10:30
2011-11-02 19:11:48 +00:00
2015-01-02 00:53:45 +10:30
2011-11-02 19:11:48 +00:00
2015-01-02 00:53:45 +10:30
2011-11-02 19:11:48 +00:00
2015-01-02 00:53:45 +10:30
2011-11-02 19:11:48 +00:00
2015-01-02 00:53:45 +10:30
2011-11-03 03:38:34 +00:00
2015-01-02 00:53:45 +10:30
2010-02-27 00:36:49 +00:00
2015-01-02 00:53:45 +10:30
2011-06-27 17:53:32 +00:00
2015-01-02 00:53:45 +10:30
2011-06-27 17:53:32 +00:00
2015-01-02 00:53:45 +10:30
2011-07-06 17:58:42 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2008-02-08 07:06:58 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2014-07-08 22:52:37 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2012-10-24 02:32:15 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2012-10-24 02:32:15 +00:00
2015-01-02 00:53:45 +10:30
2012-10-24 02:32:15 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2012-10-24 02:32:15 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2008-11-06 07:23:31 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2009-12-31 01:14:34 +00:00
2009-05-19 22:14:17 +00:00
2009-05-26 22:52:56 +00:00
2009-05-26 22:52:56 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2013-03-07 05:31:44 +00:00
2010-08-19 22:50:16 +00:00
2010-08-19 22:50:16 +00:00
2010-08-19 22:50:16 +00:00
2010-08-19 22:50:16 +00:00
2010-08-19 22:50:16 +00:00
2010-08-19 22:50:16 +00:00
2010-08-19 22:50:16 +00:00
2010-08-19 22:50:16 +00:00
2010-09-09 19:57:06 +00:00
2010-08-19 22:50:16 +00:00
2010-08-19 22:50:16 +00:00
2010-08-19 22:50:16 +00:00
2010-08-19 22:50:16 +00:00
2011-07-08 22:48:08 +00:00
2011-07-08 22:48:08 +00:00
2011-07-08 22:48:08 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-02-16 22:15:12 -08:00
2015-02-16 22:15:12 -08:00
2015-01-02 00:53:45 +10:30
2010-10-06 08:58:59 +00:00
2015-01-02 00:53:45 +10:30
2010-10-06 08:58:59 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2011-03-10 01:31:33 +00:00
2011-03-10 01:31:33 +00:00
2011-03-10 01:31:33 +00:00
2011-07-09 05:09:52 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-02-03 20:03:42 -08:00
2015-02-03 20:03:42 -08:00
2015-02-03 20:03:42 -08:00
2015-01-02 00:53:45 +10:30
2015-02-03 20:03:42 -08:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-02-03 20:03:42 -08:00
2015-02-03 20:03:42 -08:00
2015-02-03 20:03:42 -08:00
2011-06-01 19:59:42 +00:00
2011-06-01 19:59:42 +00:00
2015-01-02 00:53:45 +10:30
2012-08-14 08:31:57 +00:00
2015-01-02 00:53:45 +10:30
2012-09-05 11:01:43 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2012-09-05 11:01:43 +00:00
2010-10-12 19:21:41 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2013-04-15 16:34:12 +00:00
2013-04-15 16:34:12 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2009-10-06 22:58:27 +00:00
2009-10-06 22:58:27 +00:00
2009-10-06 22:58:27 +00:00
2009-10-06 22:58:27 +00:00
2009-10-06 22:58:27 +00:00
2015-01-02 00:53:45 +10:30
2015-01-06 15:38:25 -08:00
2015-01-06 15:38:25 -08:00
2015-01-06 15:38:25 -08:00
2015-01-06 15:38:25 -08:00
2015-01-06 15:38:25 -08:00
2015-01-06 15:38:25 -08:00
2009-10-06 22:58:27 +00:00
2009-10-06 22:58:27 +00:00
2009-10-06 22:58:27 +00:00
2009-10-06 22:58:27 +00:00
2009-10-06 22:58:27 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2010-02-22 06:26:07 +00:00
2010-09-08 23:54:51 +00:00
2010-09-08 23:54:51 +00:00
2010-03-22 22:48:05 +00:00
2010-09-15 17:39:57 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2009-12-30 22:35:49 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2011-07-02 05:30:00 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30