public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Nemo Nusquam <cym224@gmail.com>
To: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Cc: gdb@sourceware.org
Subject: Re: Running gdb-14.0.50
Date: Sun, 26 Mar 2023 20:53:55 -0400	[thread overview]
Message-ID: <dee444f2-e93e-8148-ae31-9a25b9dc61b5@gmail.com> (raw)
In-Reply-To: <ydd8rfny5x5.fsf@CeBiTec.Uni-Bielefeld.DE>

On 2023-03-23 09:05, Rainer Orth wrote:
> Nemo Nusquam via Gdb<gdb@sourceware.org>  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.



  reply	other threads:[~2023-03-27  0:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-22 22:56 Nemo Nusquam
2023-03-23 13:05 ` Rainer Orth
2023-03-27  0:53   ` Nemo Nusquam [this message]
2023-03-27 14:00     ` Rainer Orth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=dee444f2-e93e-8148-ae31-9a25b9dc61b5@gmail.com \
    --to=cym224@gmail.com \
    --cc=gdb@sourceware.org \
    --cc=ro@CeBiTec.Uni-Bielefeld.DE \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).