提交 0bca9d1a 创建 作者: Nickolai Zeldovich's avatar Nickolai Zeldovich

build rules for compiling without exceptions

上级 4c16796a
......@@ -7,6 +7,7 @@ QEMUSMP ?= 8
QEMUSRC ?= ../mtrace
MTRACE ?= $(QEMU)
HW ?= qemu
EXCEPTIONS ?= y
O = o.$(HW)
ifdef USE_CLANG
......
......@@ -51,6 +51,10 @@ OBJS = \
wqlib.o \
script.o \
zalloc.o \
incbin.o
ifeq ($(EXCEPTIONS),y)
OBJS += \
gcceh/unwind-dw2.o \
gcceh/unwind-dw2-fde-glibc.o \
gccsup/eh_personality.o \
......@@ -66,8 +70,8 @@ OBJS = \
gccsup/vmi_class_type_info.o \
gccsup/fundamental_type_info.o \
gccsup/pointer_type_info.o \
gccsup/pbase_type_info.o \
incbin.o
gccsup/pbase_type_info.o
endif
OBJS := $(addprefix $(O)/kernel/, $(OBJS))
......@@ -75,7 +79,13 @@ KERN = $(O)/kernel.elf
ALL += $(KERN)
$(O)/kernel/%.o: CFLAGS+=-mcmodel=kernel -DXV6_KERNEL
$(O)/kernel/%.o: CXXFLAGS+=-mcmodel=kernel -DXV6_KERNEL -fnothrow-opt -Wnoexcept
$(O)/kernel/%.o: CXXFLAGS+=-mcmodel=kernel -DXV6_KERNEL
ifeq ($(EXCEPTIONS),y)
$(O)/kernel/%.o: CXXFLAGS+=-fnothrow-opt -Wnoexcept
else
$(O)/kernel/%.o: CXXFLAGS+=-fno-exceptions -fno-rtti
endif
$(KERN): $(O)/kernel/boot.o $(OBJS) $(LDEPS) kernel/kernel.ld
@echo " LD $@"
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论