diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2004-10-25 15:47:52 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2004-10-25 15:47:52 +0000 |
commit | ed7af9f9c152b89254e5f81fd8a77c346f0dbfdb (patch) | |
tree | 651a85645063ff36fc81546bfb92684b9867c215 /gas | |
parent | ac025970cbff5491401b95f9e6b1f9f54189d777 (diff) | |
download | fsf-binutils-gdb-ed7af9f9c152b89254e5f81fd8a77c346f0dbfdb.zip fsf-binutils-gdb-ed7af9f9c152b89254e5f81fd8a77c346f0dbfdb.tar.gz fsf-binutils-gdb-ed7af9f9c152b89254e5f81fd8a77c346f0dbfdb.tar.bz2 |
2004-10-25 David Mosberger-Tang <davidm@hpl.hp.com>
* config/tc-ia64.c (fixup_unw_records): Don't let the "t" value
in an epilogue directive go negative.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-ia64.c | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 0840103..22fe267 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2004-10-25 David Mosberger-Tang <davidm@hpl.hp.com> + + * config/tc-ia64.c (fixup_unw_records): Don't let the "t" value + in an epilogue directive go negative. + 2004-10-25 H.J. Lu <hongjiu.lu@intel.com> PR 474 diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index b18b0ea..fb1be78 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -2747,7 +2747,13 @@ fixup_unw_records (list, before_relax) break; } case epilogue: - ptr->r.record.b.t = rlen - 1 - t; + if (t < rlen) + ptr->r.record.b.t = rlen - 1 - t; + else + /* This happens when a memory-stack-less procedure uses a + ".restore sp" directive at the end of a region to pop + the frame state. */ + ptr->r.record.b.t = 0; break; case mem_stack_f: |