Update libc artifacts, pass linker arguments to fix linking

This commit is contained in:
Jeremy Soller 2017-01-02 12:59:41 -07:00
parent 4b780927d2
commit a769dcb917
4 changed files with 10 additions and 9 deletions

View file

@ -4,7 +4,7 @@ ROOT=$(PWD)
export RUST_TARGET_PATH=$(ROOT)/targets export RUST_TARGET_PATH=$(ROOT)/targets
#TODO: Use libssp #TODO: Use libssp
export CFLAGS=-fno-stack-protector -U_FORTIFY_SOURCE export CFLAGS=-fno-stack-protector -U_FORTIFY_SOURCE -I $(ROOT)/libc-artifacts/usr/include
# Kernel variables # Kernel variables
KTARGET=$(ARCH)-unknown-none KTARGET=$(ARCH)-unknown-none
@ -234,10 +234,10 @@ else
VBM=VBoxManage VBM=VBoxManage
endif endif
KRUSTCFLAGS+=-C linker=$(CC) KRUSTCFLAGS+=-C linker=$(CC) -C link-args="$(CFLAGS)"
KCARGOFLAGS+=-C linker=$(CC) KCARGOFLAGS+=-C linker=$(CC) -C link-args="$(CFLAGS)"
RUSTCFLAGS+=-C linker=$(CC) RUSTCFLAGS+=-C linker=$(CC) -C link-args="$(CFLAGS)"
CARGOFLAGS+=-C linker=$(CC) CARGOFLAGS+=-C linker=$(CC) -C link-args="$(CFLAGS)"
%.list: % %.list: %
objdump -C -M intel -D $< > $@ objdump -C -M intel -D $< > $@
@ -362,7 +362,7 @@ $(KBUILD)/kernel_live: $(KBUILD)/libkernel_live.a
# Userspace recipes # Userspace recipes
$(BUILD)/libstd.rlib: rust/src/libstd/Cargo.toml rust/src/libstd/** $(BUILD)/libstd.rlib: rust/src/libstd/Cargo.toml rust/src/libstd/**
mkdir -p $(BUILD) mkdir -p $(BUILD)
$(CARGO) rustc --verbose --manifest-path $< $(CARGOFLAGS) -L native=libc-artifacts/lib -o $@ $(CARGO) rustc --verbose --manifest-path $< $(CARGOFLAGS) -L native=libc-artifacts/usr/lib -o $@
cp rust/src/target/$(TARGET)/release/deps/*.rlib $(BUILD) cp rust/src/target/$(TARGET)/release/deps/*.rlib $(BUILD)
initfs/bin/%: drivers/%/Cargo.toml drivers/%/src/** $(BUILD)/libstd.rlib initfs/bin/%: drivers/%/Cargo.toml drivers/%/src/** $(BUILD)/libstd.rlib
@ -373,7 +373,7 @@ initfs/bin/%: drivers/%/Cargo.toml drivers/%/src/** $(BUILD)/libstd.rlib
initfs/bin/%: programs/%/Cargo.toml programs/%/src/** $(BUILD)/libstd.rlib initfs/bin/%: programs/%/Cargo.toml programs/%/src/** $(BUILD)/libstd.rlib
mkdir -p initfs/bin mkdir -p initfs/bin
$(CARGO) rustc --manifest-path $< $(CARGOFLAGS) -o $@ $(CARGO) rustc --manifest-path $< $(CARGOFLAGS) -o $@
#strip $@ strip $@
initfs/bin/%: schemes/%/Cargo.toml schemes/%/src/** $(BUILD)/libstd.rlib initfs/bin/%: schemes/%/Cargo.toml schemes/%/src/** $(BUILD)/libstd.rlib
mkdir -p initfs/bin mkdir -p initfs/bin

@ -1 +1 @@
Subproject commit b0e2a74a505d0bc6ffea05d81fe239b1beb5c246 Subproject commit e1201a13a85c35e053dcf583aadfee27cdd12f7c

1
libstd/openlibm Submodule

@ -0,0 +1 @@
Subproject commit 3c837e79655c4be724efb945a6345ec97c07635c

View file

@ -9,7 +9,7 @@
"vendor": "unknown", "vendor": "unknown",
"target-family": "redox", "target-family": "redox",
"pre-link-args": ["-m64", "-Wl,--as-needed", "-Wl,-z,noexecstack", "-nostartfiles", "-nostdlib", "-static"], "pre-link-args": ["-m64", "-Wl,--as-needed", "-Wl,-z,noexecstack", "-nostartfiles", "-nostdlib", "-static"],
"late-link-args": ["libc-artifacts/lib/crt0.o", "libc-artifacts/lib/libm.a", "libc-artifacts/lib/libc.a", "libc-artifacts/lib/libgcc.a"], "late-link-args": ["libc-artifacts/usr/lib/crt0.o", "libc-artifacts/usr/lib/libm.a", "libc-artifacts/usr/lib/libc.a", "libc-artifacts/usr/lib/libgcc.a"],
"features": "", "features": "",
"dynamic-linking": false, "dynamic-linking": false,
"executables": true, "executables": true,