Fri Jul 9 17:44:28 2021 UTC ()
Specify -fno-unwind-tables to shrink binaries.

Before:
   text    data     bss     dec     hex filename
  77902    4328  137120  219350   358d6 uboot
After:
   text    data     bss     dec     hex filename
  64186    4328  137120  205634   32342 uboot


(tsutsui)
diff -r1.36 -r1.37 src/sys/arch/hp300/stand/Makefile.buildboot

cvs diff -r1.36 -r1.37 src/sys/arch/hp300/stand/Makefile.buildboot (switch to unified diff)

--- src/sys/arch/hp300/stand/Makefile.buildboot 2017/04/08 19:53:20 1.36
+++ src/sys/arch/hp300/stand/Makefile.buildboot 2021/07/09 17:44:28 1.37
@@ -1,85 +1,85 @@ @@ -1,85 +1,85 @@
1# $NetBSD: Makefile.buildboot,v 1.36 2017/04/08 19:53:20 christos Exp $ 1# $NetBSD: Makefile.buildboot,v 1.37 2021/07/09 17:44:28 tsutsui Exp $
2 2
3# RELOC=FFF00000 allows for boot prog up to FF000 (1044480) bytes long 3# RELOC=FFF00000 allows for boot prog up to FF000 (1044480) bytes long
4RELOC= FFF00000 4RELOC= FFF00000
5 5
6S= ${.CURDIR}/../../../.. 6S= ${.CURDIR}/../../../..
7 7
8.PATH: ${.CURDIR}/../common 8.PATH: ${.CURDIR}/../common
9 9
10PROG= ${PROGAOUT}.lif 10PROG= ${PROGAOUT}.lif
11WARNS?= 1 11WARNS?= 1
12 12
13SRCS= ${COMMONSOURCE} ${DRIVERSOURCE} ${PROGSOURCE} 13SRCS= ${COMMONSOURCE} ${DRIVERSOURCE} ${PROGSOURCE}
14NOMAN= # defined 14NOMAN= # defined
15STRIPFLAG= 15STRIPFLAG=
16BINMODE= 444 16BINMODE= 444
17 17
18CLEANFILES+= ${PROGAOUT} 18CLEANFILES+= ${PROGAOUT}
19 19
20CPPFLAGS+= -I${.CURDIR}/../../.. -I${.CURDIR}/../../../.. -I${.OBJDIR} 20CPPFLAGS+= -I${.CURDIR}/../../.. -I${.CURDIR}/../../../.. -I${.OBJDIR}
21CPPFLAGS+= -Wno-main 21CPPFLAGS+= -Wno-main
22CPPFLAGS+= -D__daddr_t=int32_t 22CPPFLAGS+= -D__daddr_t=int32_t
23CFLAGS= -Os -msoft-float -ffreestanding 23CFLAGS= -Os -fno-unwind-tables -msoft-float -ffreestanding
24 24
25# XXX SHOULD NOT NEED TO DEFINE THESE! 25# XXX SHOULD NOT NEED TO DEFINE THESE!
26LIBCRT0= 26LIBCRT0=
27LIBCRTI= 27LIBCRTI=
28LIBC= 28LIBC=
29LIBCRTBEGIN= 29LIBCRTBEGIN=
30LIBCRTEND= 30LIBCRTEND=
31 31
32${PROG}: ${PROGAOUT} 32${PROG}: ${PROGAOUT}
33 ${OBJCOPY} --output-target=binary ${PROGAOUT} ${PROGAOUT}.bin 33 ${OBJCOPY} --output-target=binary ${PROGAOUT} ${PROGAOUT}.bin
34 ${TOOL_HP300MKBOOT} -l 0x${RELOC} ${PROGAOUT}.bin ${PROG} 34 ${TOOL_HP300MKBOOT} -l 0x${RELOC} ${PROGAOUT}.bin ${PROG}
35 rm -f ${PROGAOUT}.bin 35 rm -f ${PROGAOUT}.bin
36 36
37.include "${S}/conf/newvers_stand.mk" 37.include "${S}/conf/newvers_stand.mk"
38 38
39CPPFLAGS+= -DDCACONSOLE -DAPCICONSOLE -DITECONSOLE -DDCMCONSOLE 39CPPFLAGS+= -DDCACONSOLE -DAPCICONSOLE -DITECONSOLE -DDCMCONSOLE
40CPPFLAGS+= -DHIL_KEYBOARD -DUK_KEYBOARD 40CPPFLAGS+= -DHIL_KEYBOARD -DUK_KEYBOARD
41CPPFLAGS+= -DDOMAIN_KEYBOARD 41CPPFLAGS+= -DDOMAIN_KEYBOARD
42CPPFLAGS+= -D_STANDALONE -DCOMPAT_NOLABEL -Dhp300 42CPPFLAGS+= -D_STANDALONE -DCOMPAT_NOLABEL -Dhp300
43CPPFLAGS+= -DCOMPAT_UFS -DNO_LSEEK 43CPPFLAGS+= -DCOMPAT_UFS -DNO_LSEEK
44CPPFLAGS+= -DLIBSA_CREAD_NOCRC 44CPPFLAGS+= -DLIBSA_CREAD_NOCRC
45 45
46# if sun bootparams is desired 46# if sun bootparams is desired
47#CPPFLAGS+= -DSUN_BOOTPARAMS 47#CPPFLAGS+= -DSUN_BOOTPARAMS
48 48
49# Limit the alloc() heap to below the msgbuf and ROM scratch pages. 49# Limit the alloc() heap to below the msgbuf and ROM scratch pages.
50CPPFLAGS+= -DHEAP_LIMIT="0xffffdfff" 50CPPFLAGS+= -DHEAP_LIMIT="0xffffdfff"
51 51
52COMMONSOURCE= srt0.S autoconf.c clock.c conf.c cons.c devopen.c \ 52COMMONSOURCE= srt0.S autoconf.c clock.c conf.c cons.c devopen.c \
53 exec.c machdep.c prf.c rawfs.c netio.c 53 exec.c machdep.c prf.c rawfs.c netio.c
54DRIVERSOURCE= apci.c ct.c dca.c dcm.c dnkbd.c fhpib.c hil.c \ 54DRIVERSOURCE= apci.c ct.c dca.c dcm.c dnkbd.c fhpib.c hil.c \
55 hpib.c if_le.c ite.c ite_dumb.c ite_dv.c ite_gb.c \ 55 hpib.c if_le.c ite.c ite_dumb.c ite_dv.c ite_gb.c \
56 ite_hy.c ite_rb.c ite_subr.c ite_tc.c ite_tvrx.c \ 56 ite_hy.c ite_rb.c ite_subr.c ite_tc.c ite_tvrx.c \
57 ite_sti.c \ 57 ite_sti.c \
58 kbd.c kbdconf.c nhpib.c rd.c scsi.c sd.c 58 kbd.c kbdconf.c nhpib.c rd.c scsi.c sd.c
59 59
60.include <bsd.own.mk> 60.include <bsd.own.mk>
61.include <bsd.klinks.mk> 61.include <bsd.klinks.mk>
62.include <bsd.prog.mk> 62.include <bsd.prog.mk>
63 63
64### find out what to use for libkern 64### find out what to use for libkern
65KERN_AS= library 65KERN_AS= library
66.include "${S}/lib/libkern/Makefile.inc" 66.include "${S}/lib/libkern/Makefile.inc"
67LIBKERN= ${KERNLIB} 67LIBKERN= ${KERNLIB}
68 68
69### find out what to use for libz 69### find out what to use for libz
70Z_AS= library 70Z_AS= library
71.include "${S}/lib/libz/Makefile.inc" 71.include "${S}/lib/libz/Makefile.inc"
72LIBZ= ${ZLIB} 72LIBZ= ${ZLIB}
73 73
74### find out what to use for libsa 74### find out what to use for libsa
75SA_AS= library 75SA_AS= library
76SAMISCMAKEFLAGS+="SA_USE_CREAD=yes" 76SAMISCMAKEFLAGS+="SA_USE_CREAD=yes"
77SAMISCMAKEFLAGS+="SA_USE_LOADFILE=yes" 77SAMISCMAKEFLAGS+="SA_USE_LOADFILE=yes"
78.include "${S}/lib/libsa/Makefile.inc" 78.include "${S}/lib/libsa/Makefile.inc"
79LIBSA= ${SALIB} 79LIBSA= ${SALIB}
80 80
81${PROGAOUT}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 81${PROGAOUT}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
82 ${LD} -N -Ttext ${RELOC} -e begin -o ${PROGAOUT} \ 82 ${LD} -N -Ttext ${RELOC} -e begin -o ${PROGAOUT} \
83 ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 83 ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
84 @${SIZE} ${PROGAOUT} 84 @${SIZE} ${PROGAOUT}
85 @echo ${PROGAOUT} total size should not exceed 1044480 bytes 85 @echo ${PROGAOUT} total size should not exceed 1044480 bytes