Constellation / iv

ECMAScript Lexer / Parser / Interpreter / VM / method JIT written in C++
BSD 2-Clause "Simplified" License
415 stars 32 forks source link

`GC_jmp_buf` is defined *everywhere* #112

Open rice7th opened 2 months ago

rice7th commented 2 months ago

So for some reason, once I try to compile with make, using both ld, lld and even mold, I get a lot of duplicate GC_jmp_buf symbols:

Mold output:

mold: error: duplicate symbol: liblv5.a(headers.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(obj_map.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(mark.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(mach_dep.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(reclaim.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(malloc.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(dyn_load.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(misc.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(finalize.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(mallocx.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(dbg_mlc.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(mark_rts.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(blacklst.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(alloc.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(os_dep.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf
mold: error: duplicate symbol: liblv5.a(new_hblk.c.o): liblv5.a(allchblk.c.o): GC_jmp_buf

The output is virtually the same for ld and lld. My compiler is GCC 13.2.1, and I tried ld 2.42, lld 17.0.6 and mold 2.30.