diff options
-rwxr-xr-x | build/make/ads2gas.pl | 5 | ||||
-rwxr-xr-x | build/make/ads2gas_apple.pl | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/build/make/ads2gas.pl b/build/make/ads2gas.pl index efdfce7a1..be4658253 100755 --- a/build/make/ads2gas.pl +++ b/build/make/ads2gas.pl @@ -82,7 +82,10 @@ while (<STDIN>) s/CODE([0-9][0-9])/.code $1/; # No AREA required - s/^\s*AREA.*$/.text/; + # But ALIGNs in AREA must be obeyed + s/^\s*AREA.*ALIGN=([0-9])$/.text\n.p2align $1/; + # If no ALIGN, strip the AREA and align to 4 bytes + s/^\s*AREA.*$/.text\n.p2align 2/; # DCD to .word # This one is for incoming symbols diff --git a/build/make/ads2gas_apple.pl b/build/make/ads2gas_apple.pl index 1b3039374..78f4a97f5 100755 --- a/build/make/ads2gas_apple.pl +++ b/build/make/ads2gas_apple.pl @@ -100,7 +100,10 @@ while (<STDIN>) s/CODE([0-9][0-9])/.code $1/; # No AREA required - s/^\s*AREA.*$/.text/; + # But ALIGNs in AREA must be obeyed + s/^\s*AREA.*ALIGN=([0-9])$/.text\n.p2align $1/; + # If no ALIGN, strip the AREA and align to 4 bytes + s/^\s*AREA.*$/.text\n.p2align 2/; # DCD to .word # This one is for incoming symbols |