Unverified Commit 41b39e41 authored by lsix's avatar lsix Committed by GitHub
Browse files

Merge pull request #309654 from lsix/fix-rocgdb

rocmPackages.rocgdb: Ensure build with AMDPGU support, plus various improvements
parents 190b1478 65e47ee4
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -115,8 +115,7 @@ in rec {
  };

  rocgdb = callPackage ./rocgdb {
    inherit rocmUpdateScript;
    elfutils = elfutils.override { enableDebuginfod = true; };
    inherit rocmUpdateScript rocdbgapi;
    stdenv = llvm.rocmClangStdenv;
  };

+49 −3
Original line number Diff line number Diff line
@@ -6,11 +6,16 @@
, texinfo
, bison
, flex
, glibc
, zlib
, elfutils
, gmp
, mpfr
, ncurses
, expat
, rocdbgapi
, python3
, babeltrace
, sourceHighlight
}:

stdenv.mkDerivation (finalAttrs: {
@@ -33,12 +38,53 @@ stdenv.mkDerivation (finalAttrs: {

  buildInputs = [
    zlib
    elfutils
    gmp
    mpfr
    ncurses
    expat
    rocdbgapi
    python3
    babeltrace
    sourceHighlight
  ];

  configureFlags = [
    # Ensure we build the amdgpu traget
    "--enable-targets=${stdenv.targetPlatform.config},amdgcn-amd-amdhsa"
    "--with-amd-dbgapi=yes"

    "--with-iconv-path=${glibc.bin}"
    "--enable-tui"
    "--with-babeltrace"
    "--with-python=python3"
    "--with-system-zlib"
    "--enable-64-bit-bfd"
    "--with-gmp=${gmp.dev}"
    "--with-mpfr=${mpfr.dev}"
    "--with-expat"
    "--with-libexpat-prefix=${expat.dev}"

    # So the installed binary is called "rocgdb" instead on plain "gdb"
    "--program-prefix=roc"

    # Disable building many components not used or incompatible with the amdgcn target
    "--disable-sim"
    "--disable-gdbserver"
    "--disable-ld"
    "--disable-gas"
    "--disable-gdbserver"
    "--disable-sim"
    "--disable-gdbtk"
    "--disable-gprofng"
    "--disable-shared"
  ];

  # The source directory for ROCgdb (based on upstream GDB) contains multiple project
  # of GNU’s toolchain (binutils and onther), we only need to install the GDB part.
  installPhase = ''
    make install-gdb
  '';

  # `-Wno-format-nonliteral` doesn't work
  env.NIX_CFLAGS_COMPILE = "-Wno-error=format-security";

@@ -51,7 +97,7 @@ stdenv.mkDerivation (finalAttrs: {
  meta = with lib; {
    description = "ROCm source-level debugger for Linux, based on GDB";
    homepage = "https://github.com/ROCm/ROCgdb";
    license = with licenses; [ gpl2 gpl3 bsd3 ];
    license = licenses.gpl3Plus;
    maintainers = teams.rocm.members;
    platforms = platforms.linux;
    broken = versionAtLeast finalAttrs.version "7.0.0";