Commit 243dd29d authored by Niklas Korz's avatar Niklas Korz
Browse files

zig_0_9: remove

parent a61abd64
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
{
  lib,
  callPackage,
  llvmPackages_13,
  llvmPackages_15,
  llvmPackages_16,
  llvmPackages_17,
@@ -10,10 +9,6 @@
}:
let
  versions = {
    "0.9.1" = {
      llvmPackages = llvmPackages_13;
      hash = "sha256-x2c4c9RSrNWGqEngio4ArW7dJjW0gg+8nqBwPcR721k=";
    };
    "0.10.1" = {
      llvmPackages = llvmPackages_15;
      hash = "sha256-69QIkkKzApOGfrBdgtmxFMDytRkSh+0YiaJQPbXsBeo=";
+0 −6
Original line number Diff line number Diff line
@@ -30,12 +30,6 @@ stdenv.mkDerivation (finalAttrs: {

  patches =
    args.patches or [ ]
    ++ lib.optionals (lib.versions.majorMinor finalAttrs.version == "0.9") [
      # Fix index out of bounds reading RPATH (cherry-picked from 0.10-dev)
      ./patches/0.9-read-dynstr-at-rpath-offset.patch
      # Fix build on macOS 13 (cherry-picked from 0.10-dev)
      ./patches/0.9-bump-macos-supported-version.patch
    ]
    ++
      lib.optional (lib.versions.majorMinor finalAttrs.version == "0.10")
        # Backport alignment related panics from zig-master to 0.10.
+0 −50
Original line number Diff line number Diff line
From 98285b17b3887de37b630da66f09a44f42ddbe01 Mon Sep 17 00:00:00 2001
From: Jakub Konka <kubkon@jakubkonka.com>
Date: Tue, 25 Oct 2022 11:46:42 +0200
Subject: [PATCH] darwin: bump max macOS version to 13.0

---
 lib/std/target.zig | 4 ++--
 src/target.zig     | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/std/target.zig b/lib/std/target.zig
index d791e3b0350..7fbad5baa3c 100644
--- a/lib/std/target.zig
+++ b/lib/std/target.zig
@@ -277,13 +277,13 @@ pub const Target = struct {
                         .aarch64 => VersionRange{
                             .semver = .{
                                 .min = .{ .major = 11, .minor = 6 },
-                                .max = .{ .major = 12, .minor = 0 },
+                                .max = .{ .major = 13, .minor = 0 },
                             },
                         },
                         .x86_64 => VersionRange{
                             .semver = .{
                                 .min = .{ .major = 10, .minor = 13 },
-                                .max = .{ .major = 12, .minor = 0 },
+                                .max = .{ .major = 13, .minor = 0 },
                             },
                         },
                         else => unreachable,
diff --git a/src/target.zig b/src/target.zig
index 9e2d26dac65..fc585912c45 100644
--- a/src/target.zig
+++ b/src/target.zig
@@ -18,6 +18,7 @@ pub const available_libcs = [_]ArchOsAbi{
     .{ .arch = .aarch64, .os = .windows, .abi = .gnu },
     .{ .arch = .aarch64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 11, .minor = 0 } },
     .{ .arch = .aarch64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 12, .minor = 0 } },
+    .{ .arch = .aarch64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 13, .minor = 0 } },
     .{ .arch = .armeb, .os = .linux, .abi = .gnueabi },
     .{ .arch = .armeb, .os = .linux, .abi = .gnueabihf },
     .{ .arch = .armeb, .os = .linux, .abi = .musleabi },
@@ -73,6 +74,7 @@ pub const available_libcs = [_]ArchOsAbi{
     .{ .arch = .x86_64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 10, .minor = 0 } },
     .{ .arch = .x86_64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 11, .minor = 0 } },
     .{ .arch = .x86_64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 12, .minor = 0 } },
+    .{ .arch = .x86_64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 13, .minor = 0 } },
 };
 
 pub fn libCGenericName(target: std.Target) [:0]const u8 {
+0 −39
Original line number Diff line number Diff line
commit ebcdbd9b3c9d437780aee4d6af76bbd2ab32ea06
Author: LeRoyce Pearson <contact@leroycepearson.dev>
Date:   2022-07-17 16:01:22 -0600

    Read dynstr starting at rpath offset
    
    Since we know the offset, we may as well read starting there. Still expects
    rpath to fit in 4096 bytes; that might be worth fixing in the future.
    
    Fixes issue #12112

diff --git a/lib/std/zig/system/NativeTargetInfo.zig b/lib/std/zig/system/NativeTargetInfo.zig
index af41fc790579..ad0b6d5ce1e1 100644
--- a/lib/std/zig/system/NativeTargetInfo.zig
+++ b/lib/std/zig/system/NativeTargetInfo.zig
@@ -652,14 +652,19 @@ pub fn abiAndDynamicLinkerFromFile(
             } else null;
 
             if (dynstr) |ds| {
-                const strtab_len = std.math.min(ds.size, strtab_buf.len);
-                const strtab_read_len = try preadMin(file, &strtab_buf, ds.offset, strtab_len);
-                const strtab = strtab_buf[0..strtab_read_len];
                 // TODO this pointer cast should not be necessary
                 const rpoff_usize = std.math.cast(usize, rpoff) catch |err| switch (err) {
                     error.Overflow => return error.InvalidElfFile,
                 };
-                const rpath_list = mem.sliceTo(std.meta.assumeSentinel(strtab[rpoff_usize..].ptr, 0), 0);
+                if (rpoff_usize > ds.size) return error.InvalidElfFile;
+                const rpoff_file = ds.offset + rpoff_usize;
+                const rp_max_size = ds.size - rpoff_usize;
+
+                const strtab_len = std.math.min(rp_max_size, strtab_buf.len);
+                const strtab_read_len = try preadMin(file, &strtab_buf, rpoff_file, strtab_len);
+                const strtab = strtab_buf[0..strtab_read_len];
+
+                const rpath_list = mem.sliceTo(std.meta.assumeSentinel(strtab.ptr, 0), 0);
                 var it = mem.tokenize(u8, rpath_list, ":");
                 while (it.next()) |rpath| {
                     var dir = fs.cwd().openDir(rpath, .{}) catch |err| switch (err) {
+1 −0
Original line number Diff line number Diff line
@@ -1570,6 +1570,7 @@ mapAliases {
  zfsStable = zfs; # Added 2024-02-26
  zfsUnstable = zfs_unstable; # Added 2024-02-26
  zfs_2_1 = throw "zfs 2.1 has been removed as it is EOL. Please upgrade to a newer version"; # Added 2024-12-25
  zig_0_9 = throw "zig 0.9 has been removed, upgrade to a newer version instead"; # Added 2025-01-24
  zinc = zincsearch; # Added 2023-05-28
  zk-shell = throw "zk-shell has been removed as it was broken and unmaintained"; # Added 2024-08-10
  zkg = throw "'zkg' has been replaced by 'zeek'";
Loading