[Bug gas/25125] The "-a" argument affects output object files

2019-10-25 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=25125

Alan Modra  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2019-10-25
   Assignee|unassigned at sourceware dot org   |amodra at gmail dot com
 Ever confirmed|0   |1

--- Comment #1 from Alan Modra  ---
Interestingly, "gas -al" uses the shorter branch.  It looks like we have a
relaxation problem where the accumulated "stretch" in relax_segment makes a
forward branch look like a large negative branch.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug gas/25125] relaxation chooses wrong branch size

2019-10-25 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=25125

Alan Modra  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |2.34

--- Comment #3 from Alan Modra  ---
Fixed.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug gas/25125] relaxation chooses wrong branch size

2019-10-25 Thread amodra at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=25125

Alan Modra  changed:

   What|Removed |Added

Summary|The "-a" argument affects   |relaxation chooses wrong
   |output object files |branch size

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug gas/25125] relaxation chooses wrong branch size

2019-10-25 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=25125

--- Comment #2 from cvs-commit at gcc dot gnu.org  ---
The master branch has been updated by Alan Modra :

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=37a5888387413a4b787468eff710eefebe134201

commit 37a5888387413a4b787468eff710eefebe134201
Author: Alan Modra 
Date:   Fri Oct 25 19:46:24 2019 +1030

PR25125, relaxation chooses wrong branch size

The patch I made for PR12049 didn't test for a "negative" branch
properly.  "if (target < address)" ought to have been
"if (target < address + fragP->fr_fix)".  Rather than making that
change, this patch adds fragP->fr_fix into address earlier.  The patch
also avoids running into a bad interaction with the m68k
md_prepare_relax_scan by returning zero growth immediately, since the
adjusted target expression would result in a zero "aim".

PR gas/25125
PR gas/12049
* write.c (relax_frag): Correct calculation of delta for
positive branches where "stretch" would make the branch
negative.  Return zero immediately in that case.  Correct
TC_PCREL_ADJUST comment.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


[Bug gas/12049] Unnecessary relaxation

2019-10-25 Thread cvs-commit at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=12049

--- Comment #19 from cvs-commit at gcc dot gnu.org  ---
The master branch has been updated by Alan Modra :

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=37a5888387413a4b787468eff710eefebe134201

commit 37a5888387413a4b787468eff710eefebe134201
Author: Alan Modra 
Date:   Fri Oct 25 19:46:24 2019 +1030

PR25125, relaxation chooses wrong branch size

The patch I made for PR12049 didn't test for a "negative" branch
properly.  "if (target < address)" ought to have been
"if (target < address + fragP->fr_fix)".  Rather than making that
change, this patch adds fragP->fr_fix into address earlier.  The patch
also avoids running into a bad interaction with the m68k
md_prepare_relax_scan by returning zero growth immediately, since the
adjusted target expression would result in a zero "aim".

PR gas/25125
PR gas/12049
* write.c (relax_frag): Correct calculation of delta for
positive branches where "stretch" would make the branch
negative.  Return zero immediately in that case.  Correct
TC_PCREL_ADJUST comment.

-- 
You are receiving this mail because:
You are on the CC list for the bug.