Package Details: gdb-multiarch 13.2-1

Git Clone URL: https://aur.archlinux.org/gdb-multiarch.git (read-only, click to copy)
Package Base: gdb-multiarch
Description: The GNU Debugger for all gdb supported architectures (i386/arm/mips...)
Upstream URL: http://www.gnu.org/software/gdb/
Licenses: GPL3
Submitter: aviel
Maintainer: aviel
Last Packager: aviel
Votes: 24
Popularity: 0.36
First Submitted: 2017-11-08 12:09 (UTC)
Last Updated: 2023-07-31 10:03 (UTC)

Latest Comments

1 2 3 4 Next › Last »

Kevinjil commented on 2023-08-28 17:38 (UTC) (edited on 2023-08-28 17:39 (UTC) by Kevinjil)

Can confirm build fails in chroot without options=(!lto)

aviel commented on 2023-07-31 13:54 (UTC) (edited on 2023-07-31 13:55 (UTC) by aviel)

Hi @VorpalWay! I have never had any issues with the lto option, and it seems like you were the only one who ever posted about that. Do you do anything differently?

VorpalWay commented on 2023-07-31 11:53 (UTC)

Hi! options=(!lto) still seems to be needed, and hasn't been added. I pointed this out almost a year ago in the comments below. I assume you missed it?

abend commented on 2023-07-22 22:09 (UTC)

PKGBUILD version from PabloTomsEscobar worked perfectly fine but unlike version 13.1, the new version required texinfo installed:

https://archlinux.org/packages/core/x86_64/texinfo/

Should it be added as dependency?

PabloTomsEscobar commented on 2023-07-22 20:15 (UTC)

I edited the PKGBUILD with the newer version:

# Maintainer: Aviel Warschawski <mail@aviel.org>

pkgname=gdb-multiarch
pkgver=13.2
pkgrel=1
pkgdesc='The GNU Debugger for all gdb supported architectures (i386/arm/mips...)'
arch=(i686 x86_64)
url='http://www.gnu.org/software/gdb/'
license=(GPL3)
depends=(xz ncurses expat python guile gdb-common=$pkgver)
options=(!emptydirs)
source=(https://ftp.gnu.org/gnu/gdb/gdb-13.2.tar.xz{,.sig})
sha256sums=('fd5bebb7be1833abdb6e023c2f498a354498281df9d05523d8915babeb893f0a'
            'SKIP')
validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker <brobecker@adacore.com>

prepare() {
  cd gdb-$pkgver
  sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
}

build() {
  cd gdb-$pkgver

  mkdir -p build && cd build
  ../configure \
    --enable-targets=all \
    --prefix=/build \
    --enable-languages=all \
    --enable-multilib \
    --enable-interwork \
    --with-system-readline \
    --disable-nls \
    --with-python=/usr/bin/python \
    --with-system-gdbinit=/etc/gdb/gdbinit

  make
}

package() {
  cd gdb-$pkgver/build

  make DESTDIR="$pkgdir" install

  # Following files conflict with 'gdb' package
  mkdir -p "$pkgdir"/usr/bin
  mv "$pkgdir"/build/bin/gdb "$pkgdir"/usr/bin/gdb-multiarch
  rm -r "$pkgdir"/build
}

jcelerier commented on 2022-12-28 17:41 (UTC)

Build currently fails:

  CC     machs.o
In function ‘bfin_otp_transfer’,
    inlined from ‘bfin_otp_read_page’ at /home/jcelerier/.cache/yay/gdb-multiarch/src/gdb-12.1/build/sim/../../sim/bfin/dv-bfin_otp.c:77:3,
    inlined from ‘bfin_otp_io_write_buffer’ at /home/jcelerier/.cache/yay/gdb-multiarch/src/gdb-12.1/build/sim/../../sim/bfin/dv-bfin_otp.c:145:4:
/home/jcelerier/.cache/yay/gdb-multiarch/src/gdb-12.1/build/sim/../../sim/bfin/dv-bfin_otp.c:71:17: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
   71 |       dst[bidx] = src[bidx];
      |       ~~~~~~~~~~^~~~~~~~~~~

VorpalWay commented on 2022-11-15 18:44 (UTC)

Hi,

The build fails for me. As the build log is quite long, I have posted it to a pastebin. The relevant lines seem to be:

../../opcodes/../../opcodes/ft32-dis.c:30:30: error: type of ‘ft32_opc_info’ does not match original declaration [-Werror=lto-type-mismatch]
   30 | extern const ft32_opc_info_t ft32_opc_info[128];
      |                              ^
../../opcodes/../../opcodes/ft32-opc.c:25:23: note: array types have different bounds
   25 | const ft32_opc_info_t ft32_opc_info[] =
      |                       ^
../../opcodes/../../opcodes/ft32-opc.c:25:23: note: ‘ft32_opc_info’ was previously declared here

and

lto1: all warnings being treated as errors
lto-wrapper: fatal error: gcc returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed

The full build log is at https://0x0.st/oIaV.log

Note: I'm building in a clean chroot using aurutils (analogous to using extra-x86_64-build from devtools). However, building outside a chroot with plain makepkg does not solve the issue.

kovdan01 commented on 2022-11-14 21:28 (UTC) (edited on 2022-11-14 21:32 (UTC) by kovdan01)

Hello @aviel . There are currently several issues with building the package:

  • current PKGBUILD implies guile library version 2.2, while it was updated to 3.0 recently; just removing that condition seems working nice (also, regular gdb is built in arch without guile version restriction);

  • there is a compiler error related to the readline library update leading to violating const-correctness rules, it is fixed in regular gdb build with the following patch https://github.com/archlinux/svntogit-packages/blob/packages/gdb/trunk/readline8.patch

I've fixed the issues. See the patch and the fixes description here: https://paste.debian.net/1260718/. Please consider applying the changes.

VorpalWay commented on 2022-09-10 11:21 (UTC)

Unfortunately the build fails if lto is enabled. The output is a bit mangled due to make -j32 and the parallel subprocesses outputting on top of each other.

../../opcodes/../../opcodes/ft32-dis.c:30:30: error: type of ‘ft32_opc_info’ does not match original declaration [-Werror=lto-type-mismatch]
   30 | extern const ft32_opc_info_t ft32_opc_info[128];
      |                              ^
../../opcodes/../../opcodes/ft32-opc.c:25:23: note: array types have different bounds
   25 | const ft32_opc_info_t ft32_opc_info[] =
      |                       ^
../../opcodes/../../opcodes/ft32-opc.c:25:23: note: ‘ft32_opc_info’ was previously declared here

lto1: all warnings being treated as errors
lto-wrapper: fatal error: gcc returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:270: run] Error 1
make[4]: Leaving directory '/build/gdb-multiarch/src/gdb-12.1/build/sim/bpf'
make[3]: *** [Makefile:1872: all-recursive] Error 1
make[3]: Leaving directory '/build/gdb-multiarch/src/gdb-12.1/build/sim'
make[2]: *** [Makefile:1174: all] Error 2
make[2]: Leaving directory '/build/gdb-multiarch/src/gdb-12.1/build/sim'
make[1]: *** [Makefile:9572: all-sim] Error 2
make[1]: *** Waiting for unfinished jobs....

Adding !lto to options solves this. However I suspect this is not the correct solution as the standard gdb is not built with !lto.