aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-ppc.c
diff options
context:
space:
mode:
authorTom Rix <trix@redhat.com>2001-06-20 13:34:10 +0000
committerTom Rix <trix@redhat.com>2001-06-20 13:34:10 +0000
commit1ad63b2f000e4fea64a8fa6a11a3015aadd6e8fe (patch)
tree3cd51a4f6839101cc4113ff174f16def51bbcf52 /gas/config/tc-ppc.c
parent1fe213d94107550465599da19836632e0de4c020 (diff)
downloadgdb-1ad63b2f000e4fea64a8fa6a11a3015aadd6e8fe.zip
gdb-1ad63b2f000e4fea64a8fa6a11a3015aadd6e8fe.tar.gz
gdb-1ad63b2f000e4fea64a8fa6a11a3015aadd6e8fe.tar.bz2
Fix for problem with default alignment of .comm
Diffstat (limited to 'gas/config/tc-ppc.c')
-rw-r--r--gas/config/tc-ppc.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index b98f751..f0e23d5 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -2340,7 +2340,8 @@ static boolean ppc_stab_symbol;
/* The .comm and .lcomm pseudo-ops for XCOFF. XCOFF puts common
symbols in the .bss segment as though they were local common
- symbols, and uses a different smclas. */
+ symbols, and uses a different smclas. The native Aix 4.3.3 assember
+ aligns .comm and .lcomm to 4 bytes. */
static void
ppc_comm (lcomm)
@@ -2382,7 +2383,7 @@ ppc_comm (lcomm)
{
/* The third argument to .comm is the alignment. */
if (*input_line_pointer != ',')
- align = 3;
+ align = 2;
else
{
++input_line_pointer;
@@ -2390,7 +2391,7 @@ ppc_comm (lcomm)
if (align <= 0)
{
as_warn (_("ignoring bad alignment"));
- align = 3;
+ align = 2;
}
}
}
@@ -2399,11 +2400,7 @@ ppc_comm (lcomm)
char *lcomm_name;
char lcomm_endc;
- if (size <= 1)
- align = 0;
- else if (size <= 2)
- align = 1;
- else if (size <= 4)
+ if (size <= 4)
align = 2;
else
align = 3;