mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-28 00:02:28 +00:00
Fix link order in cosmopolitan.a
It turned out that the linker was doing the wrong with the amalgamation library concerning weak stubs. A regression test has been added and new binaries have been uploaded to https://justine.lol/cosmopolitan/ Ideally this should be fixed by building a tool that turns multiple .a files into a single .a file with deduplication. As a workaround for now the cosmopolitan.a build is restructured to not include LIBC_STUBS which meant technical debt needed to be paid off where non-stub interfaces were moved to LIBC_INTRIN and LIBC_NEXGEN32E. Thank @PerfectProductions in #31 for the report!
This commit is contained in:
parent
04f1d89f84
commit
9f68d6eee9
121 changed files with 302 additions and 381 deletions
|
@ -1,7 +1,11 @@
|
|||
int main() {
|
||||
int rc;
|
||||
FILE *f;
|
||||
f = fopen("/dev/null", "w");
|
||||
fprintf(f, "hello world\n");
|
||||
fclose(f);
|
||||
rc = system("exit 42");
|
||||
CHECK_NE(-1, rc);
|
||||
CHECK_EQ(42, WEXITSTATUS(rc));
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -7,9 +7,13 @@ o/$(MODE)/test/libc/release/cosmopolitan.zip: \
|
|||
o/$(MODE)/libc/crt/crt.o \
|
||||
o/$(MODE)/ape/ape.o \
|
||||
o/$(MODE)/cosmopolitan.a
|
||||
zip -j $@ $^
|
||||
@zip -j $@ $^
|
||||
|
||||
o/$(MODE)/test/libc/release/smoke.com: \
|
||||
o/$(MODE)/test/libc/release/smoke.com.dbg
|
||||
@objcopy -SO binary $< $@
|
||||
|
||||
o/$(MODE)/test/libc/release/smoke.com.dbg: \
|
||||
test/libc/release/smoke.c \
|
||||
o/cosmopolitan.h \
|
||||
o/$(MODE)/ape/ape.lds \
|
||||
|
@ -26,7 +30,6 @@ o/$(MODE)/test/libc/release/smoke.com: \
|
|||
-nostdinc \
|
||||
-mno-red-zone \
|
||||
-Wl,--gc-sections \
|
||||
-Wl,--oformat=binary \
|
||||
-Wl,-z,max-page-size=0x1000 \
|
||||
-Wl,-T,o/$(MODE)/ape/ape.lds \
|
||||
-include o/cosmopolitan.h \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue