Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

attempting to patch https://sourceware.org/git/binutils-gdb.git @ 2bc… #904

Conversation

nezda
Copy link

@nezda nezda commented Jan 4, 2024

…fdb758bb18e29cf6c0486c448bf78dbbc0c8a to fix warning: unhandled dyld version (17)

…fdb758bb18e29cf6c0486c448bf78dbbc0c8a to fix warning: unhandled dyld version (17)

- modeled after bminor/binutils-gdb@4bbd4ef
- planning to attempt to install this roughly like https://stackoverflow.com/a/54542969/689119
@SMillerDev
Copy link
Member

Why not submit this upstream?

@Bo98
Copy link
Member

Bo98 commented Jan 4, 2024

Looks like further changes are required unfortunately over just silencing the warning: https://sourceware.org/bugzilla/show_bug.cgi?id=25850

@nezda
Copy link
Author

nezda commented Jan 4, 2024

@SMillerDev i can't even figure out how to build it :) muddling hard

class Gdbcustom < Formula
  desc "GNU debugger"
  homepage "https://www.gnu.org/software/gdb/"
  url "https://ftp.gnu.org/gnu/gdb/gdb-14.1.tar.xz"
  mirror "https://ftpmirror.gnu.org/gdb/gdb-14.1.tar.xz"
  sha256 "d66df51276143451fcbff464cc8723d68f1e9df45a6a2d5635a54e71643edb80"
  license "GPL-3.0-or-later"
  head "https://sourceware.org/git/binutils-gdb.git", branch: "master"

  stable do
    #url "https://ftp.gnu.org/gnu/gdb/gdb-8.2.1.tar.xz"
    #mirror "https://ftpmirror.gnu.org/gdb/gdb-8.2.1.tar.xz"
    #sha256 "0a6a432907a03c5c8eaad3c3cffd50c00a40c3a5e3c4039440624bae703f2202"

    ## Fix build with all targets. Remove for 8.3
    ## https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=0c0a40e0abb9f1a584330a1911ad06b3686e5361
    #patch do
    #  url "https://raw.githubusercontent.com/Homebrew/formula-patches/d457e55/gdb/all-targets.diff"
    #  sha256 "1cb8a1b8c4b4833212e16ba8cfbe620843aba0cba0f5111c2728c3314e10d8fd"
    #end

    ## Fix debugging of executables of Xcode 10 and later
    ## created for 10.14 and newer versions of macOS. Remove for 8.3
    ## https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=fc7b364aba41819a5d74ae0ac69f050af282d057
    #patch do
    #  url "https://raw.githubusercontent.com/Homebrew/formula-patches/d457e55/gdb/mojave.diff"
    #  sha256 "6264c71b57a0d5d4aed11430d352b03639370b7d36a5b520e189a6a1f105e383"
    #end
    patch do
      url "https://raw.githubusercontent.com/nezda/formula-patches/dc666d03348cbe630ded0f7d4d9a02f565742f16/gdb%4014/gdb_DYLD_VERSION_MAX_17.patch"
      sha256 "9f434211e9ccfc17bf18c41606545f60e5891e4e1c350afd07f2c4167b7cf876"
    end
  end

  bottle do
    sha256 sonoma:       "57922b323fbb136059a16827719005440be39647b9e9f548e8ec6ccfc25620b1"
    sha256 ventura:      "a8dbbcc02d37be4a6b95d1676a14e1ba51190e4a0d0467d2b0c7ff58dd58d4f4"
    sha256 monterey:     "6c954b0c7825b7613432476eb3877a8dad41825a3aa85851da253f70843a03f5"
    sha256 x86_64_linux: "df38b5c447d9f463f6faf88a0905f86a8ec0e9efea8068100497f372d4326f1e"
  end

  depends_on arch: :x86_64 # gdb is not supported on macOS ARM
  depends_on "gmp"
  depends_on "mpfr"
  depends_on "[email protected]"
  depends_on "xz" # required for lzma support

  uses_from_macos "expat"
  uses_from_macos "libxcrypt"
  uses_from_macos "ncurses"

  on_system :linux, macos: :ventura_or_newer do
    depends_on "texinfo" => :build
  end

  on_linux do
    depends_on "pkg-config" => :build
    depends_on "guile"
  end

  fails_with :clang do
    build 800
    cause <<~EOS
      probe.c:63:28: error: default initialization of an object of const type
      'const any_static_probe_ops' without a user-provided default constructor
    EOS
  end

  fails_with gcc: "5"

  def install
    args = %W[
      --enable-targets=all
      --prefix=#{prefix}
      --disable-debug
      --disable-dependency-tracking
      --with-lzma
      --with-python=#{Formula["[email protected]"].opt_bin}/python3.11
      --disable-binutils
    ]

    mkdir "build" do
      system "../configure", *args
      system "make"

      # Don't install bfd or opcodes, as they are provided by binutils
      system "make", "install-gdb", "maybe-install-gdbserver"
    end
  end

  def caveats
    on_macos do
      <<~EOS
        gdb requires special privileges to access Mach ports.
        You will need to codesign the binary. For instructions, see:

          https://sourceware.org/gdb/wiki/PermissionsDarwin
      EOS
    end
  end

  test do
    system bin/"gdb", bin/"gdb", "-configuration"
  end
end
$ brew install gdbCustom
==> Downloading https://ghcr.io/v2/homebrew/core/gdbcustom/manifests/14.1
#=#=-  #       #                                                                                                                                                                                                                                               curl: (22) The requested URL returned error: 404

==> Fetching gdbcustom
==> Downloading https://ghcr.io/v2/homebrew/core/gdbcustom/blobs/sha256:a8dbbcc02d37be4a6b95d1676a14e1ba51190e4a0d0467d2b0c7ff58dd58d4f4
#=#=-  #       #                                                                                                                                                                                                                                               curl: (22) The requested URL returned error: 404

Error: gdbcustom: Failed to download resource "gdbcustom"
Download failed: https://ghcr.io/v2/homebrew/core/gdbcustom/blobs/sha256:a8dbbcc02d37be4a6b95d1676a14e1ba51190e4a0d0467d2b0c7ff58dd58d4f4

@nezda
Copy link
Author

nezda commented Jan 4, 2024

bummer, thanks @Bo98

Copy link

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@github-actions github-actions bot added the stale label Jan 26, 2024
@nezda nezda closed this Jan 26, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 26, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants