Maciej W. Rozycki 991f40a9fa MIPS/GAS: Correct branch relaxation for weak symbols
Weak symbols can be preempted at link time so always choose the longer
sequence in branch relaxation, according to the relaxation level chosen,
so that any symbol finally used as the branch target is reachable.

2016-04-13  Maciej W. Rozycki  <macro@imgtec.com>
            Andrew Bennett  <andrew.bennett@imgtec.com>

	gas/
	* config/tc-mips.c (relaxed_branch_length): Use the long
	sequence where the target is a weak symbol.
	(relaxed_micromips_32bit_branch_length): Likewise.
	(relaxed_micromips_16bit_branch_length): Likewise.
	* testsuite/gas/mips/branch-weak-1.d: New test.
	* testsuite/gas/mips/branch-weak-2.d: New test.
	* testsuite/gas/mips/branch-weak-3.d: New test.
	* testsuite/gas/mips/branch-weak-4.d: New test.
	* testsuite/gas/mips/branch-weak-5.d: New test.
	* testsuite/gas/mips/branch-weak.l: New stderr output.
	* testsuite/gas/mips/branch-weak.s: New test source.
	* testsuite/gas/mips/mips.exp: Run the new tests.
2016-04-13 13:38:50 +01:00
..
2016-01-01 23:00:01 +10:30
2016-04-03 19:50:02 -04:00
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 19:13:42 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-03-28 20:38:24 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 19:50:02 -04:00
2016-04-01 23:10:50 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 19:13:42 -04:00
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-04-03 19:50:02 -04:00
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-04-01 23:10:50 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-04-01 23:10:50 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-04-03 19:50:02 -04:00
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-02-03 09:21:51 -07:00
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-04-01 23:10:50 +10:30
2016-04-01 23:10:50 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-01 23:10:50 +10:30
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-04-03 20:43:23 -04:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-03-21 16:31:46 +00:00
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-01-01 23:00:01 +10:30
2016-03-28 20:38:24 -04:00
2016-01-01 23:00:01 +10:30