#60 New regression building gdb
Closed 2 months ago by orbea. Opened 2 months ago by orbea.

gdb: 13.2
slibtool: 68760b8

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.

# 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.

# 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)

2 months ago

Login to comment on this ticket.

Metadata