From 19c735c41a0da90f8af041f043e8985cef85b720 Mon Sep 17 00:00:00 2001 From: Goni Zahavy Date: Tue, 11 Apr 2023 09:53:30 +0000 Subject: [PATCH] remove glibc hacks and update Zig SDK --- toolchain/BUILD.sdk.bazel | 7 ----- toolchain/defs.bzl | 52 +++++--------------------------------- toolchain/private/defs.bzl | 12 --------- 3 files changed, 6 insertions(+), 65 deletions(-) diff --git a/toolchain/BUILD.sdk.bazel b/toolchain/BUILD.sdk.bazel index de92402..35c1e36 100644 --- a/toolchain/BUILD.sdk.bazel +++ b/toolchain/BUILD.sdk.bazel @@ -12,13 +12,6 @@ declare_files( os = {os}, ) -exports_files([ - "glibc-hacks/fcntl.map", - "glibc-hacks/fcntl.h", - "glibc-hacks/res_search.map", - "glibc-hacks/res_search.h", -]) - declare_cc_toolchains( os = {os}, zig_sdk_path = {zig_sdk_path}, diff --git a/toolchain/defs.bzl b/toolchain/defs.bzl index c41298e..ba68703 100644 --- a/toolchain/defs.bzl +++ b/toolchain/defs.bzl @@ -20,14 +20,14 @@ URL_FORMAT_NIGHTLY = "https://ziglang.org/builds/zig-{host_platform}-{version}.{ # generous enough to host the artifacts, which we use. URL_FORMAT_BAZELMIRROR = "https://mirror.bazel.build/" + URL_FORMAT_NIGHTLY.lstrip("https://") -_VERSION = "0.11.0-dev.1796+c9e02d3e6" +_VERSION = "0.11.0-dev.2545+311d50f9d" _HOST_PLATFORM_SHA256 = { - "linux-aarch64": "5902b34b463635b25c11555650d095eb5030e2a05d8a4570c091313cd1a38b12", - "linux-x86_64": "aa9da2305fad89f648db2fd1fade9f0f9daf01d06f3b07887ad3098402794778", - "macos-aarch64": "51b4e88123d6cbb102f2a6665dd0d61467341f36b07bb0a8d46a37ea367b60d5", - "macos-x86_64": "dd8eeae5249aa21f9e51ff4ff536a3e7bf2c0686ee78bf6032d18e74c8416c56", - "windows-x86_64": "260f34d0d5312d2642097bb33c14ac552cd57c59a15383364df6764d01f0bfc9", + "linux-aarch64": "9a4582c534802454775d2c3db33c472f55285b5203032d55fb13c5a41cc31833", + "linux-x86_64": "b0895fe5d83dd361bd268580c9de5d5a3c42eaf966ea049bfae93eb537a88633", + "macos-aarch64": "6f9aabd01d5200fe419e5fa54846e67f8342bf4cbebb71f735a729f4daaf4190", + "macos-x86_64": "4bc1f1c28637b49b4ececdc819fc3d1a5d593560b8667183f26fe861b816279b", + "windows-x86_64": "7673a442a59492235157d6e6549698fd183bd90d43db74bf93ac3611cb3aad46", } _HOST_PLATFORM_EXT = { @@ -80,36 +80,6 @@ _ZIG_TOOLS = [ "ar", ] -_template_mapfile = """ -%s { - %s; -}; -""" - -_template_linker = """ -#ifdef __ASSEMBLER__ -.symver {from_function}, {to_function_abi} -#else -__asm__(".symver {from_function}, {to_function_abi}"); -#endif -""" - -def _glibc_hack(from_function, to_function_abi): - # Cannot use .format(...) here, because starlark thinks - # that the byte 3 (the opening brace on the first line) - # is a nested { ... }, returning an error: - # Error in format: Nested replacement fields are not supported - to_function, to_abi = to_function_abi.split("@") - mapfile = _template_mapfile % (to_abi, to_function) - header = _template_linker.format( - from_function = from_function, - to_function_abi = to_function_abi, - ) - return struct( - mapfile = mapfile, - header = header, - ) - def _quote(s): return "'" + s.replace("'", "'\\''") + "'" @@ -252,16 +222,6 @@ def _zig_repository_impl(repository_ctx): ) repository_ctx.symlink("tools/launcher{}".format(exe), tool_path) - fcntl_hack = _glibc_hack("fcntl64", "fcntl@GLIBC_2.2.5") - repository_ctx.file("glibc-hacks/fcntl.map", content = fcntl_hack.mapfile) - repository_ctx.file("glibc-hacks/fcntl.h", content = fcntl_hack.header) - res_search_amd64 = _glibc_hack("res_search", "__res_search@GLIBC_2.2.5") - repository_ctx.file("glibc-hacks/res_search-amd64.map", content = res_search_amd64.mapfile) - repository_ctx.file("glibc-hacks/res_search-amd64.h", content = res_search_amd64.header) - res_search_arm64 = _glibc_hack("res_search", "__res_search@GLIBC_2.17") - repository_ctx.file("glibc-hacks/res_search-arm64.map", content = res_search_arm64.mapfile) - repository_ctx.file("glibc-hacks/res_search-arm64.h", content = res_search_arm64.header) - zig_repository = repository_rule( attrs = { "version": attr.string(), diff --git a/toolchain/private/defs.bzl b/toolchain/private/defs.bzl index f9589f7..58cff61 100644 --- a/toolchain/private/defs.bzl +++ b/toolchain/private/defs.bzl @@ -121,16 +121,6 @@ def _target_windows(gocpu, zigcpu): def _target_linux_gnu(gocpu, zigcpu, glibc_version): glibc_suffix = "gnu.{}".format(glibc_version) - compiler_extra_includes = [] - linker_version_scripts = [] - if glibc_version < "2.28": - # https://github.com/ziglang/zig/issues/5882#issuecomment-888250676 - compiler_extra_includes.append("glibc-hacks/fcntl.h") - linker_version_scripts.append("glibc-hacks/fcntl.map") - if glibc_version < "2.34": - compiler_extra_includes.append("glibc-hacks/res_search-{}.h".format(gocpu)) - linker_version_scripts.append("glibc-hacks/res_search-{}.map".format(gocpu)) - return struct( gotarget = "linux_{}_{}".format(gocpu, glibc_suffix), zigtarget = "{}-linux-{}".format(zigcpu, glibc_suffix), @@ -143,8 +133,6 @@ def _target_linux_gnu(gocpu, zigcpu, glibc_version): (["libc/include/{}-linux-any".format(zigcpu)] if zigcpu != "x86_64" else []) + [ "libc/include/any-linux-any", ] + _INCLUDE_TAIL, - compiler_extra_includes = compiler_extra_includes, - linker_version_scripts = linker_version_scripts, dynamic_library_linkopts = [], copts = [], libc = "glibc",