The relaxing pass fails to properly relax branches. Branch targets that are reachable during the first relax pass can become unreachable during the second pass. In the test case the branch target is exactly -0x1000000 bytes away after the second round trip of the first pass, but off by 32 bytes due to rearrangements done during the second pass.
ld-new: javax/swing/plaf/.libs/basic.o: Can't relax br (PCREL21B) to `_ZN5javax5swing4plaf15ColorUIResourceC1EPN4java3awt5ColorE' at 0xecd62 in section `.text' with size 0x128be0 (> 0x1000000). ld-new: javax/swing/plaf/.libs/basic.o: Can't relax br (PCREL21B) to `_Jv_CheckArrayStore' at 0x1114c2 in section `.text' with size 0x128be0 (> 0x1000000). ld-new: javax/swing/plaf/.libs/basic.o: Can't relax br (PCREL21B) to `_ZN4java3awt5event10MouseEventC1EPNS0_9ComponentEixiiiib' at 0x11adc2 in section `.text' with size 0x128be0 (> 0x1000000). ld-new: final link failed: Nonrepresentable section on output -- Summary: Branch relaxing fails Product: binutils Version: 2.20 (HEAD) Status: NEW Severity: normal Priority: P2 Component: ld AssignedTo: unassigned at sources dot redhat dot com ReportedBy: schwab at suse dot de CC: bug-binutils at gnu dot org GCC target triplet: ia64-*-* http://sourceware.org/bugzilla/show_bug.cgi?id=7036 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils