This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug gdb/18987] GDB 7.10 cannot debug programs under X32 (internal-error: find_new_threads_once...)


https://sourceware.org/bugzilla/show_bug.cgi?id=18987

--- Comment #2 from Jeffrey Walton <noloader at gmail dot com> ---
(In reply to Pedro Alves from comment #1)
> I believe this is fixed in master (commit e0fd7c47bd):
> 
>  https://sourceware.org/ml/gdb-patches/2015-08/msg00762.html
> 
> Could you give that a try?

Yes sir. From a Debian chroot for X32 (https://wiki.debian.org/X32Port):

  git clone git://sourceware.org/git/binutils-gdb.git gdb-git
  ...
  cd gdb-git

Then

  # ./configure --target=x32-linux
  checking build system type... x86_64-pc-linux-gnu
  checking host system type... x86_64-pc-linux-gnu
  checking target system type... Invalid configuration `x32-linux': machine
`x32' not recognized

Retry:

  # ./configure
  checking build system type... x86_64-pc-linux-gnu
  checking host system type... x86_64-pc-linux-gnu
  checking target system type... x86_64-pc-linux-gnu
  ...
  make[2]: Entering directory '/home/gdb-git/libiberty'
  ...
  make[2]: Entering directory '/home/gdb-git/zlib'
  ...
  make[2]: Entering directory '/home/gdb-git/bfd'
  creating bfdver.h
  rm -f elf32-target.h
  ...
  .../gdb-git/missing: 81: /home/gdb-git/missing: makeinfo: not found
  WARNING: 'makeinfo' is missing on your system.

Yep, no makeinfo for this platform, and no apparent configure option to disable
it:

  # ./configure --help | egrep -i "(info|doc)"
    -V, --version           display version information and exit
    --infodir=DIR           info documentation [DATAROOTDIR/info]
    --mandir=DIR            man documentation [DATAROOTDIR/man]
    --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
    --htmldir=DIR           html documentation [DOCDIR]
    --dvidir=DIR            dvi documentation [DOCDIR]
    --pdfdir=DIR            pdf documentation [DOCDIR]
    --psdir=DIR             ps documentation [DOCDIR]
                            map A to B, C to D ... in debug information

Continuing with build:

  Makefile:443: recipe for target 'bfd.info' failed
  make[3]: *** [bfd.info] Error 127
  ...
  Makefile:1673: recipe for target 'info-recursive' failed
  make[2]: *** [info-recursive] Error 1
  ..
  Makefile:2712: recipe for target 'all-bfd' failed
  make[1]: *** [all-bfd] Error 2
  ...
  Makefile:845: recipe for target 'all' failed
  make: *** [all] Error 2

The complete log is available at
https://www.cryptopp.com/drop/gdb-config.log.zip.

Any suggestions to proceed? I'm not really concerned about the docs; rather I
need the debugger.

**********

And one other note... A dirty compile for getruntime.c under X32:

gcc -c -DHAVE_CONFIG_H -g -O2  -I. -I./../include  -W -Wall -Wwrite-strings
-Wc++-compat -Wstrict-prototypes -pedantic  -D_GNU_SOURCE ./getruntime.c -o
getruntime.o
./getruntime.c: In function âget_run_timeâ:
./getruntime.c:98:14: warning: enum conversion when passing argument 1 of
âgetrusageâ is invalid in C++ [-Wc++-compat]
   getrusage (0, &rusage);
              ^
In file included from ./getruntime.c:47:0:
/usr/include/x86_64-linux-gnux32/sys/resource.h:87:12: note: expected
â__rusage_who_t {aka enum __rusage_who}â but argument is of type âintâ
 extern int getrusage (__rusage_who_t __who, struct rusage *__usage) __THROW;
            ^

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]