Re: Running gdb-14.0.50
Nemo Nusquam via Gdb <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
On 2023-03-23 09:05, Rainer Orth wrote: > Nemo Nusquam via Gdb<[email protected]> writes: > >> I downloaded gdb-14.0.50.20230322 and built it with the following >> configuration script. >> >> ABI=64 \ > No need for this unless you're using in-tree gmp/mpfr. Okay -- I removed this line. >> CFLAGS='-m64 -g3 -O0' \ >> CXXFLAGS='-m64 -g3 -O0' \ > I've asked this before: why do you need a gdb with full debug info? If > running into problems, start with a bare-minimum configuration, > i.e. omit CFLAGS/CXXFLAGS completely. If your gcc doesn't create 64-bit > binaries by default, better use CC='gcc -m64' CXX='g++ -m64'. Please read the section on the GDB Wiki: Building GDB Natively (https://sourceware.org/gdb/wiki/BuildingNatively), where these flags are specified. I moved -m64 to CC/CXX. >> SHELL=/usr/bin/bash \ > If you really need another shell during the build (although the Solaris > 11.3 /bin/sh, which is ksh93, should be good enough), specify > CONFIG_SHELL instead. Okay -- I removed this line. >> AR=/usr/bin/gar \ > No need for this: the build should be fine with either Solaris ar or GNU > ar. If it's not, please file a bug report. I removed this option and configure built a Makefile that invoked sparcv9-sun-solaris11-ar, so I put it back in. >> AS=/usr/bin/as \ > Again: not used in the gdb build (and not the best way for gcc, > either). Omit. Okay -- I removed this line. >> --host=sparcv9-sun-solaris11 \ >> --build=sparcv9-sun-solaris11 \ > Here's your problem: this is a triple gdb knows nothing about, thus the > error when starting. The real thing is called sparcv9-sun-solaris2.11 > (i.e. 2.11 instead of 11) and it's admittedly quite unfortunate that > config.guess doesn't get this right on its own. Just specify > --build=sparcv9-sun-solaris2.11; the other two (host and target) are set > implicitly from that. Okay -- I added --build=sparcv9-sun-solaris2.11. > >> --enable-64-bit-bfd \ >> --enable-tui \ >> --with-curses \ > I never had a need for any of those. If you do, please explain. These are leftovers from a very old script. They were removed. >> --disable-bootstrap \ > Again: gcc only; omit. Okay -- I removed the option. >> Despite specifying both host and build as sparcv9, when I invoke against a >> simple C binary, the following happens. >> >> ../../gdb-14.0.50.20230322/gdb/arch-utils.c:753: internal-error: >> initialize_current_architecture: Selection of initial architecture failed >> A problem internal to GDB has been detected, >> >> Is there any other option that will specify a build for sparcv9 alone. No >> other architecture will be debugged on this machine (T2000 running Solaris >> 11.3). > Use the correct triple (and omit anything not strictly necessary) and > you should be fine. > > Rainer > Here is my final configuration script: CFLAGS='-g3 -O0' \ CXXFLAGS='-g3 -O0' \ CC="/home/build/gcc/64/bin/gcc -m64" \ CXX="/home/build/gcc/64/bin/g++ -m64" \ ../gdb-14.0.50.20230322/configure \ --with-gmp-prefix=/usr/local \ --with-mpfr-prefix=/usr/local \ --build=sparcv9-sun-solaris2.11 \ --disable-binutils \ --disable-gold \ --disable-gprof \ --disable-gas \ --disable-intl \ --disable-ld \ --disable-sim And here is the configuration reported by the resulting binary. This GDB was configured as follows: configure --host=sparcv9-sun-solaris2.11 --target=sparcv9-sun-solaris2.11 --with-auto-load-dir=$debugdir:$datadir/auto-load --with-auto-load-safe-path=$debugdir:$datadir/auto-load --with-expat --with-gdb-datadir=/usr/local/share/gdb (relocatable) --with-jit-reader-dir=/usr/local/lib/gdb (relocatable) --without-libunwind-ia64 --with-lzma --without-babeltrace --without-intel-pt --without-xxhash --without-python --without-python-libdir --without-debuginfod --with-curses --without-guile --without-amd-dbgapi --disable-source-highlight --enable-threading --enable-tui --with-separate-debug-dir=/usr/local/lib/debug (relocatable) ("Relocatable" means the directory can be moved with the GDB installation tree, and GDB will still find it.) Thank you. Sincerely, N.