1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -44,10 +44,10 @@ MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
GCCFLAGS := -I $(TOPDIR)/include/asm/gcc
GCCFLAGS += -G 0 -mno-abicalls -fno-pic -pipe
GCCFLAGS += $(call check_gcc, -finline-limit=100000,)
-LINKFLAGS += -G 0 -static -n
-MODFLAGS += -mlong-calls
+LINKFLAGS += -G 0 -static -n -nostdlib
+MODFLAGS += -mlong-calls -fno-common
-ifdef CONFIG_DEBUG_INFO
+ifdef CONFIG_REMOTE_DEBUG
GCCFLAGS += -g
ifdef CONFIG_SB1XXX_CORELIS
GCCFLAGS += -mno-sched-prolog -fno-omit-frame-pointer
@@ -69,13 +69,13 @@ endif
set_gccflags = $(shell \
while :; do \
cpu=$(1); isa=-$(2); \
- for gcc_opt in -march= -mcpu=; do \
+ for gcc_opt in -march= -mtune=; do \
$(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
-xc /dev/null > /dev/null 2>&1 && \
break 2; \
done; \
cpu=$(3); isa=-$(4); \
- for gcc_opt in -march= -mcpu=; do \
+ for gcc_opt in -march= -mtune=; do \
$(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
-xc /dev/null > /dev/null 2>&1 && \
break 2; \
@@ -90,7 +90,7 @@ else \
fi; \
gas_abi=-Wa,-32; gas_cpu=$$cpu; gas_isa=-Wa,$$isa; \
while :; do \
- for gas_opt in -Wa,-march= -Wa,-mcpu=; do \
+ for gas_opt in -Wa,-march= -Wa,-mtune=; do \
$(CC) $$gas_abi $$gas_opt$$cpu $$gas_isa -Wa,-Z -c \
-o /dev/null -xassembler /dev/null > /dev/null 2>&1 && \
break 2; \
@@ -172,6 +172,7 @@ endif
endif
AFLAGS += $(GCCFLAGS)
+ASFLAGS += $(GCCFLAGS)
CFLAGS += $(GCCFLAGS)
LD += -m $(ld-emul)
--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,7 @@ HPATH = $(TOPDIR)/include
FINDHPATH = $(HPATH)/asm $(HPATH)/linux $(HPATH)/scsi $(HPATH)/net $(HPATH)/math-emu
HOSTCC = gcc
-HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
+HOSTCFLAGS = -Wall -Wstrict-prototypes -Os -fomit-frame-pointer
CROSS_COMPILE =
@@ -88,10 +88,9 @@ export MODLIB
#
# standard CFLAGS
#
-
CPPFLAGS := -D__KERNEL__ -I$(HPATH)
-CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \
+CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -Os \
-fno-strict-aliasing -fno-common
CFLAGS += -fno-builtin-strpbrk -fno-builtin-sprintf
ifndef CONFIG_FRAME_POINTER
@@ -108,6 +107,8 @@ CFLAGS += $(call check_gcc,-Wno-pointer-
# disable stupid and dangerous "optimization" in gcc 3.2+
CFLAGS += $(call check_gcc,-fno-delete-null-pointer-checks,)
+CFLAGS += $(call check_gcc, -funit-at-a-time,)
+
#
# ROOT_DEV specifies the default root-device when making the image.
# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case
|