aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-arm.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2001-05-06 10:11:33 +0000
committerNick Clifton <nickc@redhat.com>2001-05-06 10:11:33 +0000
commitd8708f403e7d1df1165e12d4141506a804698666 (patch)
tree5417fe83ae70f750b42369bec30635b2fdd37d9e /gas/config/tc-arm.c
parenta7fdf62f9b557077e66b322619c584c5031b03a2 (diff)
downloadgdb-d8708f403e7d1df1165e12d4141506a804698666.zip
gdb-d8708f403e7d1df1165e12d4141506a804698666.tar.gz
gdb-d8708f403e7d1df1165e12d4141506a804698666.tar.bz2
Do not insert more than MAX_MEM_FOR_RS_ALIGN_CODE bytes.
Diffstat (limited to 'gas/config/tc-arm.c')
-rw-r--r--gas/config/tc-arm.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 98fd045..59e8d71 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -8796,8 +8796,8 @@ s_arm_elf_cons (nbytes)
of an rs_align_code fragment. */
void
-arm_handle_align (fragp)
- fragS *fragp;
+arm_handle_align (fragP)
+ fragS *fragP;
{
static char const arm_noop[4] = { 0x00, 0x00, 0xa0, 0xe1 };
static char const thumb_noop[2] = { 0xc0, 0x46 };
@@ -8808,14 +8808,17 @@ arm_handle_align (fragp)
char * p;
const char * noop;
- if (fragp->fr_type != rs_align_code)
+ if (fragP->fr_type != rs_align_code)
return;
- bytes = fragp->fr_next->fr_address - fragp->fr_address - fragp->fr_fix;
- p = fragp->fr_literal + fragp->fr_fix;
+ bytes = fragP->fr_next->fr_address - fragP->fr_address - fragP->fr_fix;
+ p = fragP->fr_literal + fragP->fr_fix;
fix = 0;
- if (fragp->tc_frag_data)
+ if (bytes > MAX_MEM_FOR_RS_ALIGN_CODE)
+ bytes = MAX_MEM_FOR_RS_ALIGN_CODE;
+
+ if (fragP->tc_frag_data)
{
if (target_big_endian)
noop = thumb_bigend_noop;
@@ -8848,8 +8851,8 @@ arm_handle_align (fragp)
fix += noop_size;
}
- fragp->fr_fix += fix;
- fragp->fr_var = noop_size;
+ fragP->fr_fix += fix;
+ fragP->fr_var = noop_size;
}
/* Called from md_do_align. Used to create an alignment
@@ -8864,11 +8867,11 @@ arm_frag_align_code (n, max)
/* We assume that there will never be a requirment
to support alignments greater than 32 bytes. */
- if (max > 31)
+ if (max > MAX_MEM_FOR_RS_ALIGN_CODE)
as_fatal (_("alignments greater than 32 bytes not supported in .text sections."));
p = frag_var (rs_align_code,
- 31,
+ MAX_MEM_FOR_RS_ALIGN_CODE,
1,
(relax_substateT) max,
(symbolS *) NULL,
@@ -8881,9 +8884,9 @@ arm_frag_align_code (n, max)
/* Perform target specific initialisation of a frag. */
void
-arm_init_frag (fragp)
- fragS *fragp;
+arm_init_frag (fragP)
+ fragS *fragP;
{
/* Record whether this frag is in an ARM or a THUMB area. */
- fragp->tc_frag_data = thumb_mode;
+ fragP->tc_frag_data = thumb_mode;
}