Commit 9c5d1246c7b3da2e625a2257b9680c4d34fbc1fc
1 parent
8dd7cb06
use -mflat for helper-i386.c on sparc - use custom ld script on sparc to free ze…
…ro memory addresses for vm86 emulation - arm support git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@224 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
21 additions
and
4 deletions
Makefile
... | ... | @@ -4,6 +4,7 @@ CFLAGS=-Wall -O2 -g |
4 | 4 | LDFLAGS=-g |
5 | 5 | LIBS= |
6 | 6 | DEFINES=-DHAVE_BYTESWAP_H |
7 | +HELPER_CFLAGS=$(CFLAGS) | |
7 | 8 | |
8 | 9 | ifeq ($(ARCH),i386) |
9 | 10 | CFLAGS+=-fomit-frame-pointer |
... | ... | @@ -37,6 +38,8 @@ ifeq ($(ARCH),sparc) |
37 | 38 | CFLAGS+=-m32 -ffixed-g1 -ffixed-g2 -ffixed-g3 -ffixed-g6 |
38 | 39 | LDFLAGS+=-m32 |
39 | 40 | OP_CFLAGS=$(CFLAGS) -fno-delayed-branch -ffixed-i0 |
41 | +HELPER_CFLAGS=$(CFLAGS) -ffixed-i0 -mflat | |
42 | +LDFLAGS+=-Wl,-T,sparc.ld | |
40 | 43 | endif |
41 | 44 | |
42 | 45 | ifeq ($(ARCH),sparc64) |
... | ... | @@ -58,6 +61,11 @@ ifeq ($(ARCH),ia64) |
58 | 61 | OP_CFLAGS=$(CFLAGS) |
59 | 62 | endif |
60 | 63 | |
64 | +ifeq ($(ARCH),arm) | |
65 | +OP_CFLAGS=$(CFLAGS) -mno-sched-prolog | |
66 | +LDFLAGS+=-Wl,-T,arm.ld | |
67 | +endif | |
68 | + | |
61 | 69 | ifeq ($(GCC_MAJOR),3) |
62 | 70 | # very important to generate a return at the end of every operation |
63 | 71 | OP_CFLAGS+=-fno-reorder-blocks -fno-optimize-sibling-calls |
... | ... | @@ -81,13 +89,19 @@ OBJS+= libqemu.a |
81 | 89 | LIBOBJS+=thunk.o translate-i386.o op-i386.o helper-i386.o exec-i386.o exec.o |
82 | 90 | |
83 | 91 | # NOTE: the disassembler code is only needed for debugging |
84 | -LIBOBJS+=disas.o i386-dis.o dis-buf.o | |
92 | +LIBOBJS+=disas.o i386-dis.o | |
85 | 93 | ifeq ($(ARCH),alpha) |
86 | 94 | LIBOBJS+=alpha-dis.o |
87 | 95 | endif |
88 | 96 | ifeq ($(ARCH),ppc) |
89 | 97 | LIBOBJS+=ppc-dis.o |
90 | 98 | endif |
99 | +ifeq ($(ARCH),sparc) | |
100 | +LIBOBJS+=sparc-dis.o | |
101 | +endif | |
102 | +ifeq ($(ARCH),arm) | |
103 | +LIBOBJS+=arm-dis.o | |
104 | +endif | |
91 | 105 | |
92 | 106 | ifeq ($(ARCH),ia64) |
93 | 107 | OBJS += ia64-syscall.o |
... | ... | @@ -126,6 +140,9 @@ opc-i386.h: op-i386.o dyngen |
126 | 140 | op-i386.o: op-i386.c opreg_template.h ops_template.h |
127 | 141 | $(CC) $(OP_CFLAGS) $(DEFINES) -c -o $@ $< |
128 | 142 | |
143 | +helper-i386.o: helper-i386.c | |
144 | + $(CC) $(HELPER_CFLAGS) $(DEFINES) -c -o $@ $< | |
145 | + | |
129 | 146 | %.o: %.c |
130 | 147 | $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $< |
131 | 148 | |
... | ... | @@ -152,13 +169,13 @@ qemu-doc.html: qemu-doc.texi |
152 | 169 | |
153 | 170 | FILES= \ |
154 | 171 | README README.distrib COPYING COPYING.LIB TODO Changelog VERSION \ |
155 | -dyngen.c ioctls.h ops_template.h op_string.h syscall_types.h\ | |
172 | +dyngen.c dyngen.h ioctls.h ops_template.h op_string.h syscall_types.h\ | |
156 | 173 | Makefile elf.h thunk.c\ |
157 | 174 | elfload.c main.c signal.c thunk.h exec.h\ |
158 | 175 | cpu-i386.h qemu.h op-i386.c helper-i386.c syscall-i386.h translate-i386.c\ |
159 | 176 | syscall.c opreg_template.h syscall_defs.h vm86.c\ |
160 | -dis-asm.h dis-buf.c disas.c disas.h alpha-dis.c ppc-dis.c i386-dis.c\ | |
161 | -ppc.ld alpha.ld s390.ld exec-i386.h exec-i386.c path.c exec.c mmap.c configure \ | |
177 | +dis-asm.h disas.c disas.h alpha-dis.c ppc-dis.c i386-dis.c sparc-dis.c arm-dis.c\ | |
178 | +ppc.ld alpha.ld s390.ld sparc.ld arm.ld exec-i386.h exec-i386.c path.c exec.c mmap.c configure \ | |
162 | 179 | tests/Makefile\ |
163 | 180 | tests/test-i386.c tests/test-i386-shift.h tests/test-i386.h\ |
164 | 181 | tests/test-i386-muldiv.h tests/test-i386-code16.S\ | ... | ... |