diff options
Diffstat (limited to 'pkgs/development/rocm-modules/6')
-rw-r--r-- | pkgs/development/rocm-modules/6/default.nix | 3 | ||||
-rw-r--r-- | pkgs/development/rocm-modules/6/rocgdb/default.nix | 52 |
2 files changed, 50 insertions, 5 deletions
diff --git a/pkgs/development/rocm-modules/6/default.nix b/pkgs/development/rocm-modules/6/default.nix index e74df33a7bfbf..4d10ea2440444 100644 --- a/pkgs/development/rocm-modules/6/default.nix +++ b/pkgs/development/rocm-modules/6/default.nix @@ -115,8 +115,7 @@ in rec { }; rocgdb = callPackage ./rocgdb { - inherit rocmUpdateScript; - elfutils = elfutils.override { enableDebuginfod = true; }; + inherit rocmUpdateScript rocdbgapi; stdenv = llvm.rocmClangStdenv; }; diff --git a/pkgs/development/rocm-modules/6/rocgdb/default.nix b/pkgs/development/rocm-modules/6/rocgdb/default.nix index 919b3e70f6e06..2112c6cf02105 100644 --- a/pkgs/development/rocm-modules/6/rocgdb/default.nix +++ b/pkgs/development/rocm-modules/6/rocgdb/default.nix @@ -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"; |