|
@@ -41,6 +41,15 @@ SRC=\
|
|
|
Cargo.* \
|
|
|
$(shell find src -type f)
|
|
|
|
|
|
+# FIXME: Remove the following line. It's only required since xargo automatically links with compiler_builtins, which conflicts with the compiler_builtins that rustc always links with.
|
|
|
+WEAKEN_SYMBOLS=\
|
|
|
+ -W __divti3 \
|
|
|
+ -W __fixdfti \
|
|
|
+ -W __floattidf \
|
|
|
+ -W __muloti4 \
|
|
|
+ -W __udivti3 \
|
|
|
+ -W __umodti3
|
|
|
+
|
|
|
.PHONY: all clean fmt install install-headers libs test
|
|
|
|
|
|
all: | libs
|
|
@@ -115,7 +124,7 @@ $(BUILD)/debug/libc.so: $(BUILD)/debug/librelibc.a $(BUILD)/pthreads-emb/libpthr
|
|
|
$(BUILD)/debug/librelibc.a: $(SRC)
|
|
|
CARGO_INCREMENTAL=0 $(CARGO) rustc $(CARGOFLAGS) -- --emit link=$@ $(RUSTCFLAGS)
|
|
|
# FIXME: Remove the following line. It's only required since xargo automatically links with compiler_builtins, which conflicts with the compiler_builtins that rustc always links with.
|
|
|
- $(OBJCOPY) $@ -W __divti3 -W __muloti4 -W __udivti3 -W __floattidf -W __fixdfti
|
|
|
+ $(OBJCOPY) $@ $(WEAKEN_SYMBOLS)
|
|
|
touch $@
|
|
|
|
|
|
$(BUILD)/debug/crt0.o: $(SRC)
|
|
@@ -153,8 +162,7 @@ $(BUILD)/release/libc.so: $(BUILD)/release/librelibc.a $(BUILD)/pthreads-emb/lib
|
|
|
|
|
|
$(BUILD)/release/librelibc.a: $(SRC)
|
|
|
CARGO_INCREMENTAL=0 $(CARGO) rustc --release $(CARGOFLAGS) -- --emit link=$@ $(RUSTCFLAGS)
|
|
|
- # FIXME: Remove the following line. It's only required since xargo automatically links with compiler_builtins, which conflicts with the compiler_builtins that rustc always links with.
|
|
|
- $(OBJCOPY) $@ -W __divti3 -W __muloti4 -W __udivti3 -W __floattidf -W __fixdfti
|
|
|
+ $(OBJCOPY) $@ $(WEAKEN_SYMBOLS)
|
|
|
touch $@
|
|
|
|
|
|
$(BUILD)/release/crt0.o: $(SRC)
|