aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2005-01-28 08:21:14 +0000
committerJan Beulich <jbeulich@novell.com>2005-01-28 08:21:14 +0000
commitf7e323d58b6312da747af517269c9aa21c78896a (patch)
tree5f85915934d5bc7eb99ad876dd1d9dac346cde86 /gas
parenta8d6eb4a62a37d1fc53b85842ebf629e068c8ff1 (diff)
downloadgdb-f7e323d58b6312da747af517269c9aa21c78896a.zip
gdb-f7e323d58b6312da747af517269c9aa21c78896a.tar.gz
gdb-f7e323d58b6312da747af517269c9aa21c78896a.tar.bz2
gas/
2005-01-28 Jan Beulich <jbeulich@novell.com> * config/tc-ia64.c (ia64_estimate_size_before_relax): Allocate space for personality routine pointer only if there is one. (ia64_convert_frag): Likewise. (generate_unwind_image): Likewise. ld/testsuite/ 2005-01-28 Jan Beulich <jbeulich@novell.com> * ld/ia64/tlsbin.[rt]d: Widen expected offset/size ranges. * ld/ia64/tlspic.[rt]d: Likewise.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-ia64.c22
2 files changed, 22 insertions, 7 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 1d19938..3ab47b3 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2005-01-28 Jan Beulich <jbeulich@novell.com>
+
+ * config/tc-ia64.c (ia64_estimate_size_before_relax): Allocate space
+ for personality routine pointer only if there is one.
+ (ia64_convert_frag): Likewise.
+ (generate_unwind_image): Likewise.
+
2005-01-27 Christian Groessler <chris@groessler.org>
* config/tc-z8k.c (INSERT): Remove, not used anywhere.
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c
index 24fbadd..21b62fb 100644
--- a/gas/config/tc-ia64.c
+++ b/gas/config/tc-ia64.c
@@ -2863,8 +2863,11 @@ ia64_estimate_size_before_relax (fragS *frag,
pad = len % md.pointer_size;
if (pad != 0)
len += md.pointer_size - pad;
- /* Add 8 for the header + a pointer for the personality offset. */
- size = len + 8 + md.pointer_size;
+ /* Add 8 for the header. */
+ size = len + 8;
+ /* Add a pointer for the personality offset. */
+ if (frag->fr_offset)
+ size += md.pointer_size;
/* fr_var carries the max_chars that we created the fragment with.
We must, of course, have allocated enough memory earlier. */
@@ -2891,8 +2894,11 @@ ia64_convert_frag (fragS *frag)
pad = len % md.pointer_size;
if (pad != 0)
len += md.pointer_size - pad;
- /* Add 8 for the header + a pointer for the personality offset. */
- size = len + 8 + md.pointer_size;
+ /* Add 8 for the header. */
+ size = len + 8;
+ /* Add a pointer for the personality offset. */
+ if (frag->fr_offset)
+ size += md.pointer_size;
/* fr_var carries the max_chars that we created the fragment with.
We must, of course, have allocated enough memory earlier. */
@@ -3454,9 +3460,11 @@ generate_unwind_image (const segT text_seg)
pad = size % md.pointer_size;
if (pad != 0)
size += md.pointer_size - pad;
- /* Add 8 for the header + a pointer for the personality
- offset. */
- size += 8 + md.pointer_size;
+ /* Add 8 for the header. */
+ size += 8;
+ /* Add a pointer for the personality offset. */
+ if (unwind.personality_routine)
+ size += md.pointer_size;
}
/* If there are unwind records, switch sections, and output the info. */