gdb: 13.2 slibtool: 68760b8
13.2
It now fails during configure.
make[3]: Entering directory '/var/tmp/portage/dev-debug/gdb-14.1-r1/work/gdb-14.1/libsframe' rdlibtool --tag=CC --mode=compile x86_64-gentoo-linux-musl-gcc -DHAVE_CONFIG_H -I. -I. -I./../include -I./../libctf -Wall -Wextra -Wwrite-strings -Wmissing-format-attribute -Wstric t-prototypes -Wmissing-prototypes -O2 -pipe -Werror=implicit-function-declaration -Werror=implicit-int -c -o libsframe_la-sframe.lo `test -f 'sframe.c' || echo './'`sframe.c rdlibtool --tag=CC --mode=compile x86_64-gentoo-linux-musl-gcc -DHAVE_CONFIG_H -I. -I. -I./../include -I./../libctf -Wall -Wextra -Wwrite-strings -Wmissing-format-attribute -Wstrict-pro totypes -Wmissing-prototypes -O2 -pipe -Werror=implicit-function-declaration -Werror=implicit-int -c -o libsframe_la-sframe.lo sframe.c rdlibtool: lconf: {.name="libtool"}. rdlibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/var/tmp/portage/dev-debug/gdb-14.1-r1/work/gdb-14.1/libsframe"}. rdlibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 65026, .st_ino = 206312285}. rdlibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3. rdlibtool: lconf: found "/var/tmp/portage/dev-debug/gdb-14.1-r1/work/gdb-14.1/libsframe/libtool". rdlibtool: error logged in slbt_get_lconf_flags(), line 786: flow error: unexpected condition or other. make[3]: *** [Makefile:795: libsframe_la-sframe.lo] Error 2 make[3]: Leaving directory '/var/tmp/portage/dev-debug/gdb-14.1-r1/work/gdb-14.1/libsframe'
I bisected this to commit d29f9c6.
d29f9c69021c51af493b43fe5d15dab02881760e is the first bad commit commit d29f9c69021c51af493b43fe5d15dab02881760e Author: midipix <writeonce@midipix.org> Date: Thu Feb 8 20:57:49 2024 +0000 driver: rlibtool mode: derive AR and RANLIB from the located libtool script. src/driver/slbt_driver_ctx.c | 29 +++++++++++++++++++----- src/internal/slibtool_lconf_impl.c | 45 ++++++++++++++++++++++++++++++++++---- 2 files changed, 65 insertions(+), 9 deletions(-)
In the libsframe directory the ---info command also fails.
libsframe
---info
# rlibtool --info rlibtool: lconf: {.name="libtool"}. rlibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/var/tmp/portage/dev-debug/gdb-13.2-r2/work/gdb-13.2/libsframe"}. rlibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 65026, .st_ino = 2994573}. rlibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3. rlibtool: lconf: found "/var/tmp/portage/dev-debug/gdb-13.2-r2/work/gdb-13.2/libsframe/libtool". rlibtool: error logged in slbt_get_lconf_flags(), line 786: flow error: unexpected condition or other.
However the ./libtool script seems fine.
./libtool
# stat ./libtool File: ./libtool Size: 265219 Blocks: 520 IO Block: 4096 regular file Device: 254,2 Inode: 3382766 Links: 1 Access: (0755/-rwxr-xr-x) Uid: ( 250/ portage) Gid: ( 250/ portage) Access: 2024-02-13 10:57:39.846182417 -0800 Modify: 2024-02-13 10:57:36.859484274 -0800 Change: 2024-02-13 10:57:36.872817747 -0800 Birth: -
This may be why.
# cat ./libtool | grep -e 'AR="' -e 'RANLIB="' AR="x86_64-gentoo-linux-musl-ar --plugin /usr/libexec/gcc/x86_64-gentoo-linux-musl/13/liblto_plugin.so --plugin /usr/libexec/gcc/x86_64-gentoo-linux-musl/13/liblto_plugin.so" RANLIB="x86_64-gentoo-linux-musl-ranlib --plugin /usr/libexec/gcc/x86_64-gentoo-linux-musl/13/liblto_plugin.so --plugin /usr/libexec/gcc/x86_64-gentoo-linux-musl/13/liblto_plugin.so"
Roger that. looks like the lconf implementation will need to support complex arguments ...
This is fixed, but there is a remaining issue in GDB's build system where they hard code ./libtool. See https://bugs.gentoo.org/923948.
Metadata Update from @orbea: - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.