aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorIsaac Freund <mail@isaacfreund.com>2022-05-03 21:45:20 +0200
committerIsaac Freund <mail@isaacfreund.com>2022-05-04 01:00:57 +0200
commitf4131cf8a645d7c857fb1c0401000cac0b50080b (patch)
tree59b759c00e15760d76eeb4d1f0b0ad3ced0f6b24 /tools
parentb6930825b0e59bc355370eb68f5b74868d8aa1d7 (diff)
downloadzig-f4131cf8a645d7c857fb1c0401000cac0b50080b.tar.gz
zig-f4131cf8a645d7c857fb1c0401000cac0b50080b.zip
musl: update to 1.2.3
This was a bit trickier than it should be due to symbol conflicts with zig's compiler-rt implementation. We attempt to use weak linkage in our compiler-rt, but this does not seem to be working in all cases. I manually disabled export of the problematic compiler-rt math functions in order to cross compile musl's libc.so for all targets as input to `tools/gen_stubs.zig`. Other than that, this update went fairly smoothly. Quite a few additional symbols were added to the blacklist in `tools/gen_stubs.zig` due to recent reorganization of zig's compiler-rt.
Diffstat (limited to 'tools')
-rw-r--r--tools/gen_stubs.zig112
1 files changed, 112 insertions, 0 deletions
diff --git a/tools/gen_stubs.zig b/tools/gen_stubs.zig
index 64889a1e72..c77818fdb4 100644
--- a/tools/gen_stubs.zig
+++ b/tools/gen_stubs.zig
@@ -550,10 +550,17 @@ fn fatal(comptime format: []const u8, args: anytype) noreturn {
}
const blacklisted_symbols = [_][]const u8{
+ "__absvdi2",
+ "__absvsi2",
+ "__absvti2",
"__adddf3",
"__addkf3",
+ "__addodi4",
+ "__addosi4",
+ "__addoti4",
"__addsf3",
"__addtf3",
+ "__addxf3",
"__ashldi3",
"__ashlti3",
"__ashrdi3",
@@ -602,13 +609,23 @@ const blacklisted_symbols = [_][]const u8{
"__atomic_store_2",
"__atomic_store_4",
"__atomic_store_8",
+ "__bswapdi2",
+ "__bswapsi2",
+ "__bswapti2",
+ "__ceilh",
+ "__ceilx",
"__clear_cache",
"__clzdi2",
"__clzsi2",
"__clzti2",
"__cmpdf2",
+ "__cmpdi2",
"__cmpsf2",
+ "__cmpsi2",
"__cmptf2",
+ "__cmpti2",
+ "__cosh",
+ "__cosx",
"__ctzdi2",
"__ctzsi2",
"__ctzti2",
@@ -621,18 +638,30 @@ const blacklisted_symbols = [_][]const u8{
"__divsi3",
"__divtf3",
"__divti3",
+ "__divxf3",
"__dlstart",
"__eqdf2",
"__eqkf2",
"__eqsf2",
"__eqtf2",
+ "__eqxf2",
+ "__exp2h",
+ "__exp2x",
+ "__exph",
+ "__expx",
"__extenddfkf2",
"__extenddftf2",
+ "__extenddfxf2",
"__extendhfsf2",
"__extendhftf2",
+ "__extendhfxf2",
"__extendsfdf2",
"__extendsfkf2",
"__extendsftf2",
+ "__extendsfxf2",
+ "__extendxftf2",
+ "__fabsh",
+ "__fabsx",
"__ffsdi2",
"__ffssi2",
"__ffsti2",
@@ -658,48 +687,81 @@ const blacklisted_symbols = [_][]const u8{
"__fixunstfdi",
"__fixunstfsi",
"__fixunstfti",
+ "__fixunsxfdi",
+ "__fixunsxfsi",
+ "__fixunsxfti",
+ "__fixxfdi",
+ "__fixxfsi",
+ "__fixxfti",
"__floatdidf",
"__floatdikf",
"__floatdisf",
"__floatditf",
+ "__floatdixf",
"__floatsidf",
"__floatsikf",
"__floatsisf",
"__floatsitf",
+ "__floatsixf",
"__floattidf",
"__floattisf",
"__floattitf",
+ "__floattixf",
"__floatundidf",
"__floatundikf",
"__floatundisf",
"__floatunditf",
+ "__floatundixf",
"__floatunsidf",
"__floatunsikf",
"__floatunsisf",
"__floatunsitf",
+ "__floatunsixf",
"__floatuntidf",
+ "__floatuntikf",
"__floatuntisf",
"__floatuntitf",
+ "__floatuntixf",
+ "__floorh",
+ "__floorx",
+ "__fmah",
+ "__fmax",
+ "__fmaxh",
+ "__fmaxx",
+ "__fminh",
+ "__fminx",
+ "__fmodh",
+ "__fmodx",
"__gedf2",
"__gekf2",
"__gesf2",
"__getf2",
+ "__gexf2",
"__gnu_f2h_ieee",
"__gnu_h2f_ieee",
"__gtdf2",
"__gtkf2",
"__gtsf2",
"__gttf2",
+ "__gtxf2",
"__ledf2",
"__lekf2",
"__lesf2",
"__letf2",
+ "__lexf2",
+ "__log10h",
+ "__log10x",
+ "__log2h",
+ "__log2x",
+ "__logh",
+ "__logx",
"__lshrdi3",
"__lshrti3",
"__ltdf2",
"__ltkf2",
"__ltsf2",
"__lttf2",
+ "__ltxf2",
"__moddi3",
"__modsi3",
"__modti3",
@@ -708,6 +770,7 @@ const blacklisted_symbols = [_][]const u8{
"__muldi3",
"__mulkf3",
"__mulodi4",
+ "__mulosi4",
"__muloti4",
"__mulsc3",
"__mulsf3",
@@ -716,30 +779,61 @@ const blacklisted_symbols = [_][]const u8{
"__multf3",
"__multi3",
"__mulxc3",
+ "__mulxf3",
"__nedf2",
"__negdf2",
+ "__negdi2",
"__negsf2",
+ "__negsi2",
+ "__negti2",
+ "__negvdi2",
+ "__negvsi2",
+ "__negvti2",
"__nekf2",
"__nesf2",
"__netf2",
+ "__nexf2",
"__paritydi2",
"__paritysi2",
"__parityti2",
"__popcountdi2",
"__popcountsi2",
"__popcountti2",
+ "__roundh",
+ "__roundx",
+ "__sincosh",
+ "__sincosx",
+ "__sinh",
+ "__sinx",
+ "__sqrth",
+ "__sqrtx",
"__subdf3",
"__subkf3",
+ "__subodi4",
+ "__subosi4",
+ "__suboti4",
"__subsf3",
"__subtf3",
+ "__subxf3",
+ "__tanh",
+ "__tanx",
"__truncdfhf2",
"__truncdfsf2",
+ "__trunch",
"__trunckfdf2",
"__trunckfsf2",
"__truncsfhf2",
"__trunctfdf2",
"__trunctfhf2",
"__trunctfsf2",
+ "__trunctfxf2",
+ "__truncx",
+ "__truncxfdf2",
+ "__truncxfhf2",
+ "__truncxfsf2",
+ "__ucmpdi2",
+ "__ucmpsi2",
+ "__ucmpti2",
"__udivdi3",
"__udivmoddi4",
"__udivmodsi4",
@@ -754,5 +848,23 @@ const blacklisted_symbols = [_][]const u8{
"__unordsf2",
"__unordtf2",
"__zig_probe_stack",
+ "ceilf128",
+ "cosf128",
+ "exp2f128",
+ "expf128",
+ "fabsf128",
+ "floorf128",
+ "fmaf128",
"fmaq",
+ "fmaxf128",
+ "fminf128",
+ "fmodf128",
+ "log10f128",
+ "log2f128",
+ "logf128",
+ "roundf128",
+ "sincosf128",
+ "sinf128",
+ "sqrtf128",
+ "truncf128",
};