- Axe -mpreferred-stack-boundary=2 as -Os turns this on by default.

- Axe -fdata-sections as turning it on or off makes no difference.  If
  it did make a difference it would serve to bloat boot2 even further with
  extra padding.
- Axe -fforce-addr.  This gets us 32 bytes so we are down to only being
  64-bytes over.

We still can't compile this with gcc 3.1.  The problem seems to be that
the -fno-align-foo options don't actually work.  Comparing the new and
old output it turns out that gcc is 4-byte padding all the functions and
labels and what not despite the passed in arguments thus adding the
unfortunate bloat to boot2.
This commit is contained in:
John Baldwin 2002-05-10 04:05:42 +00:00
parent 0434bdb78c
commit 88f0d73da4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=96327
2 changed files with 4 additions and 4 deletions

View File

@ -27,9 +27,9 @@ BTX= ${.CURDIR}/../btx
ORG1= 0x7c00
ORG2= 0x1000
CFLAGS= -elf -ffreestanding -Os -fno-builtin -fforce-addr -fdata-sections \
CFLAGS= -elf -ffreestanding -Os -fno-builtin \
-fno-align-functions -fno-align-jumps -fno-align-loops -fno-align-labels \
-mrtd -mpreferred-stack-boundary=2 \
-mrtd \
-I${.CURDIR}/../btx/lib -I. \
-Wall -Waggregate-return -Wbad-function-cast -Wcast-align \
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs \

View File

@ -27,9 +27,9 @@ BTX= ${.CURDIR}/../btx
ORG1= 0x7c00
ORG2= 0x1000
CFLAGS= -elf -ffreestanding -Os -fno-builtin -fforce-addr -fdata-sections \
CFLAGS= -elf -ffreestanding -Os -fno-builtin \
-fno-align-functions -fno-align-jumps -fno-align-loops -fno-align-labels \
-mrtd -mpreferred-stack-boundary=2 \
-mrtd \
-I${.CURDIR}/../btx/lib -I. \
-Wall -Waggregate-return -Wbad-function-cast -Wcast-align \
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs \