Alan Modra 066f4018ae PowerPC64 GOT indirect to GOT relative optimisation
This implements an optimisation that converts sequences like
  addis r9,r2,sym@got@ha
  ld r3,sym@got@l(r9)
to
  addis r9,r2,sym@toc@ha
  addi r3,r9,sym@toc@l
when "sym" is locally defined and can't be overridden.

bfd/
	* elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
	(struct _ppc64_elf_section_data): Likewise.
	(ppc64_elf_check_relocs): Set above fields.
	(ppc64_elf_edit_toc): Add a pass over GOT relocs.
	(ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
	when possible.
ld/
	* testsuite/ld-powerpc/elfv2exe.d: Update.
	* testsuite/ld-powerpc/elfv2so.d: Update.
	* testsuite/ld-powerpc/tocopt.d: Update.
	* testsuite/ld-powerpc/tocopt.s: Update.
	* testsuite/ld-powerpc/tocopt5.d: Update.
	* testsuite/ld-powerpc/tocopt5.s: Update.
	* testsuite/ld-powerpc/tocopt7.d: Update.
	* testsuite/ld-powerpc/tocopt7.s: Update.
	* testsuite/ld-powerpc/tocopt8.d: Update.
	* testsuite/ld-powerpc/tocopt8.s: Update.
2019-04-30 22:09:54 +09:30
..
2017-02-28 11:59:47 +10:30
2009-03-14 09:16:01 +00:00
2009-03-14 09:16:01 +00:00
2009-03-14 09:16:01 +00:00
2009-03-14 09:32:56 +00:00
2009-03-14 09:16:01 +00:00
2009-03-14 09:15:34 +00:00
2009-03-14 09:15:34 +00:00
2009-03-14 09:32:56 +00:00
2009-03-14 09:15:34 +00:00
2009-03-14 09:15:34 +00:00
ld/
2009-03-14 09:14:30 +00:00
ld/
2009-03-14 09:14:30 +00:00
ld/
2009-03-14 09:14:30 +00:00
ld/
2009-03-14 09:14:30 +00:00
ld/
2009-03-14 09:14:30 +00:00
ld/
2009-03-14 09:14:30 +00:00
2009-03-14 09:35:46 +00:00
2009-03-14 09:35:46 +00:00
2009-03-14 09:35:46 +00:00
2009-03-14 09:35:46 +00:00
2009-04-16 23:07:00 +00:00
2009-04-16 23:07:00 +00:00
2009-03-14 09:35:06 +00:00
2009-03-14 09:35:06 +00:00
2009-03-14 09:35:06 +00:00
2009-04-01 20:09:03 +00:00
2009-03-14 09:35:06 +00:00
2009-03-14 09:17:32 +00:00
2009-03-14 09:17:32 +00:00
2009-03-14 09:17:32 +00:00
2009-03-14 09:17:32 +00:00
2009-03-14 09:17:32 +00:00
2009-03-14 09:17:32 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-06-02 18:51:34 +00:00
2009-06-02 18:51:34 +00:00
2009-06-02 18:51:34 +00:00
2009-06-02 18:51:34 +00:00
2009-06-02 18:51:34 +00:00
2009-06-02 18:51:34 +00:00
2009-03-14 09:32:33 +00:00
2009-03-14 09:32:33 +00:00
2009-03-14 09:32:33 +00:00
2009-03-14 09:32:33 +00:00
2009-03-14 09:32:33 +00:00
2009-03-14 09:32:33 +00:00
2009-03-14 09:33:39 +00:00
2009-03-14 09:33:39 +00:00
2009-03-14 09:33:39 +00:00
2009-03-14 09:33:39 +00:00
2009-03-14 09:33:39 +00:00
2009-03-14 09:33:39 +00:00
2009-03-14 09:33:39 +00:00
2009-03-14 09:33:39 +00:00
2009-03-14 09:33:39 +00:00
2009-03-14 09:33:39 +00:00
2010-01-23 12:05:33 +00:00
2010-01-23 12:05:33 +00:00
2010-01-23 12:05:33 +00:00
2009-04-01 19:27:38 +00:00
2009-04-01 19:27:38 +00:00
2009-03-14 09:18:22 +00:00
2009-03-14 09:18:22 +00:00
2009-03-14 09:18:22 +00:00
2009-03-14 09:18:22 +00:00
2009-03-14 09:18:22 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:35:06 +00:00
2009-03-14 09:35:06 +00:00
2009-03-14 09:35:06 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2018-02-26 10:51:12 +10:30
2009-03-14 09:34:27 +00:00
2018-02-26 10:51:12 +10:30
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2009-03-14 09:34:27 +00:00
2016-06-07 22:04:38 +09:30
2010-04-01 10:02:28 +00:00
2010-02-08 07:09:39 +00:00
2016-06-07 22:04:38 +09:30
2016-09-26 18:04:57 +09:30
2016-09-26 18:04:57 +09:30
2016-09-26 18:04:57 +09:30
2016-09-26 18:04:57 +09:30
2016-09-26 18:04:57 +09:30
2016-09-26 18:04:57 +09:30
2016-09-26 18:04:57 +09:30
2016-09-26 18:04:57 +09:30
2016-09-26 18:04:57 +09:30
2008-10-10 20:55:36 +00:00
2008-10-10 20:55:36 +00:00
2008-10-10 20:55:36 +00:00
2018-07-25 16:52:58 +09:30
2015-04-23 09:49:19 +09:30
2014-03-05 19:57:39 +10:30
2014-03-05 19:57:39 +10:30
2015-04-23 09:49:19 +09:30
2014-03-05 19:57:39 +10:30
2018-08-05 12:11:51 +09:30
2018-08-05 12:11:51 +09:30
2018-08-05 12:11:51 +09:30
2009-09-21 11:51:02 +00:00
2012-11-23 03:28:13 +00:00
2018-04-14 17:56:40 +09:30
2018-04-14 17:56:40 +09:30
2010-07-06 09:29:47 +00:00
2018-07-25 16:52:58 +09:30
2018-07-25 16:52:58 +09:30
2015-08-27 23:21:21 +09:30
2019-02-21 18:05:05 +10:30
2017-08-30 20:43:31 +09:30
2015-04-23 09:49:19 +09:30
2017-08-30 20:43:31 +09:30
2017-01-24 12:15:54 +10:30
2015-04-23 09:49:19 +09:30
2009-09-21 11:51:02 +00:00
2009-09-21 11:51:02 +00:00
2011-03-23 15:25:06 +00:00
2011-03-23 15:25:06 +00:00
2017-07-14 22:51:01 +09:30
2017-07-14 22:51:01 +09:30
2012-11-23 03:28:13 +00:00
2011-03-23 15:25:06 +00:00
2017-07-14 22:51:01 +09:30
2017-07-14 22:51:01 +09:30
2012-11-23 03:28:13 +00:00
2011-03-23 15:25:06 +00:00
2017-07-14 22:51:01 +09:30
2017-07-14 22:51:01 +09:30
2011-03-23 15:25:06 +00:00
2012-11-23 03:28:13 +00:00
2017-07-14 22:51:01 +09:30
2011-03-23 15:25:06 +00:00
2017-07-14 22:51:01 +09:30
2015-04-23 09:49:19 +09:30
2015-04-23 09:49:19 +09:30
2015-01-28 18:30:54 +10:30
2015-04-23 09:49:19 +09:30
2015-04-23 09:49:19 +09:30
2015-04-23 09:49:19 +09:30
2018-08-05 10:33:07 +09:30
2017-06-21 22:45:15 +09:30
2017-06-21 22:45:15 +09:30
2017-06-21 22:45:15 +09:30
2017-06-21 22:45:15 +09:30
2017-06-21 22:45:15 +09:30
2017-06-21 22:45:15 +09:30
2017-06-21 22:45:15 +09:30
2015-01-28 18:30:54 +10:30
2015-01-28 18:30:54 +10:30
2017-11-07 17:01:16 +10:30
2017-11-07 17:01:16 +10:30
2017-11-07 17:01:16 +10:30
2012-05-14 19:45:30 +00:00
2012-05-14 19:45:30 +00:00
2016-08-31 14:05:44 +09:30
2012-05-14 19:45:30 +00:00
2012-05-14 19:45:30 +00:00
2012-05-14 19:45:30 +00:00
2012-05-14 19:45:30 +00:00
2012-05-14 19:45:30 +00:00
2012-05-14 19:45:30 +00:00
2012-05-14 19:45:30 +00:00
2012-05-14 19:45:30 +00:00
2012-05-14 19:45:30 +00:00
2012-05-14 19:45:30 +00:00
2012-05-14 19:45:30 +00:00
2014-03-14 15:01:53 +10:30
2018-02-26 10:51:12 +10:30
2014-12-04 17:37:58 +10:30