Alan Modra 954b63d4c8 Implement -z dynamic-undefined-weak
-z nodynamic-undefined-weak is only implemented for x86.  (The sparc
backend has some support code but doesn't enable the option by
including ld/emulparams/dynamic_undefined_weak.sh, and since the
support looks like it may be broken I haven't enabled it.)  This patch
adds the complementary -z dynamic-undefined-weak, extends both options
to affect building of shared libraries as well as executables, and
adds support for the option on powerpc.

include/
	* bfdlink.h (struct bfd_link_info <dynamic_undefined_weak>):
	Revise comment.
bfd/
	* elflink.c (_bfd_elf_adjust_dynamic_symbol): Hide undefweak
	or make dynamic for info->dynamic_undefined_weak 0 and 1.
	* elf32-ppc.c:Formatting.
	(ensure_undefweak_dynamic): Don't make dynamic when
	info->dynamic_undefined_weak is zero.
	(allocate_dynrelocs): Discard undefweak dyn_relocs for
	info->dynamic_undefined_weak.  Discard undef dyn_relocs when
	not default visibility.  Discard undef and undefweak
	dyn_relocs earlier.
	(ppc_elf_relocate_section): Adjust to suit.
	* elf64-ppc.c: Formatting.
	(ensure_undefweak_dynamic): Don't make dynamic when
	info->dynamic_undefined_weak is zero.
	(allocate_dynrelocs): Discard undefweak dyn_relocs for
	info->dynamic_undefined_weak.  Discard them earlier.
ld/
	* ld.texinfo (dynamic-undefined-weak): Document.
	(nodynamic-undefined-weak): Document that this option now can
	be used with shared libs.
	* emulparams/dynamic_undefined_weak.sh: Support -z
	dynamic-undefined-weak.
	* emulparams/elf32ppccommon.sh: Include dynamic_undefined_weak.sh.
	* testsuite/ld-undefined/weak-undef.exp (undef_weak_so),
	(undef_weak_exe): New.  Use them.  Add -z dynamic-undefined-weak
	and -z nodynamic-undefined-weak tests.
	* Makefile.am: Update powerpc dependencies.
	* Makefile.in: Regenerate.
2017-04-19 20:39:52 +09:30
..
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2016-12-02 10:44:29 +00:00
ld/
2009-11-20 15:04:51 +00:00
2006-05-30 16:45:32 +00:00
2006-05-30 16:45:32 +00:00
2016-08-09 12:09:17 -07:00
2016-12-02 10:44:29 +00:00
2007-08-09 11:02:24 +00:00
ld/
2009-11-20 15:04:51 +00:00
2011-03-22 18:10:48 +00:00
2011-03-22 18:10:48 +00:00
2011-03-22 18:10:48 +00:00
2011-03-22 18:10:48 +00:00
2011-03-22 18:10:48 +00:00
2011-03-22 18:10:48 +00:00
2011-03-22 18:10:48 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2006-06-20 02:22:16 +00:00
2006-06-20 02:22:16 +00:00
2006-06-20 02:22:16 +00:00
2006-06-20 02:22:16 +00:00
ld:
2010-10-22 12:08:32 +00:00
2006-04-05 12:41:59 +00:00
2009-08-05 20:40:34 +00:00
2010-03-25 21:12:36 +00:00
ld/
2011-05-13 18:15:33 +00:00
ld/
2011-05-13 18:15:33 +00:00
ld/
2011-05-13 18:15:33 +00:00
ld/
2011-05-13 18:15:33 +00:00
2013-08-26 22:18:07 +00:00
2007-08-09 11:02:24 +00:00
2010-12-31 11:01:00 +00:00
2013-06-24 23:55:46 +00:00
2010-12-31 11:01:00 +00:00
2006-05-30 16:45:32 +00:00
2004-07-07 17:28:53 +00:00
ld/
2007-05-18 09:18:18 +00:00
2011-10-25 11:18:16 +00:00
2006-06-20 02:22:16 +00:00
2015-01-28 16:25:18 +10:30
2006-05-30 16:45:32 +00:00
2008-12-23 19:10:25 +00:00
2008-12-23 19:10:25 +00:00
2013-04-25 13:22:52 +00:00
2013-04-25 13:22:52 +00:00
2006-05-30 16:45:32 +00:00
2010-12-31 11:01:00 +00:00
2010-12-31 11:01:00 +00:00
2017-02-20 19:33:28 +10:30
2017-01-02 22:44:29 +10:30
ld/
2012-08-06 22:40:36 +00:00
2012-09-13 22:24:51 +00:00
2017-02-20 19:33:28 +10:30
2013-01-10 20:08:03 +00:00
2006-05-30 16:45:32 +00:00
2017-02-20 19:33:28 +10:30
2017-02-20 19:33:28 +10:30
2014-12-06 16:45:22 +01:00
2006-05-30 16:45:32 +00:00
2006-05-30 16:45:32 +00:00
2006-05-30 16:45:32 +00:00
2006-05-30 16:45:32 +00:00
2006-05-30 16:45:32 +00:00
2016-10-10 17:09:03 +02:00
ld:
2010-10-22 12:08:32 +00:00
2010-12-31 11:01:00 +00:00
ld/
2006-10-16 21:34:25 +00:00
2010-12-31 11:01:00 +00:00
2015-04-23 09:49:19 +09:30
2013-08-26 22:18:07 +00:00
2009-07-25 15:08:26 +00:00
ld/
2013-08-23 22:38:42 +00:00
2013-01-10 20:08:03 +00:00
2006-08-02 16:25:14 +00:00
2013-08-26 22:18:07 +00:00
2017-01-02 22:42:45 +10:30
2004-07-27 22:30:25 +00:00
2006-05-30 16:45:32 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2006-05-30 16:45:32 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2006-05-30 16:45:32 +00:00
2006-06-20 02:22:16 +00:00
2014-07-27 08:51:20 -04:00
2013-12-13 11:52:32 +00:00
2013-12-13 11:52:32 +00:00
2014-01-30 17:47:07 -08:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2006-06-20 02:22:16 +00:00
2015-04-08 04:55:23 -07:00
2007-08-09 11:02:24 +00:00
2016-12-31 12:04:11 +10:30
2006-05-30 16:45:32 +00:00
2017-02-20 19:33:28 +10:30
2017-02-20 19:33:28 +10:30
2017-02-20 19:33:28 +10:30
2006-08-04 13:13:56 +00:00
2015-09-22 11:12:51 +02:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00
2007-08-09 11:02:24 +00:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

The files in this directory are read by genscripts.sh as shell commands.
They set parameters for the emulations.

Copyright (C) 2012-2017 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.