Формат файла не распознается с помощью GNU GDB 6.4 на Solaris 10 - PullRequest
0 голосов
/ 23 декабря 2009

Ниже приведены сведения о сеансе на машине Sun, на которой установлен Solaris 10.

$ file devli
devli: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped
$ file a
a: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, not stripped
$ gdb
GNU gdb 6.4
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.10".
(gdb) file a
Reading symbols from /tmp/tnmy/a...(no debugging symbols found)...done.
(gdb) file devli
"/tmp/tnmy/devli": not in executable format: File format not recognized
(gdb) q
$ ls -l a devlisrvr
-rwxr-xr-x   1 test2    dba         1480 Dec 23 18:23 a
-rwxr-xr-x   1 test2    dba       633088 Dec 23 18:26 devli
$ uname -a ;
SunOS myhost 5.10 Generic_127111-11 sun4v sparc SUNW,SPARC-Enterprise-T5220
$ cat a.c
int main() {return 0;}
$ /opt/SUNONE8/SUNWspro/bin/CC -V
CC: Sun C++ 5.5 2003/03/12
$ file `which gdb`
/usr/local/bin/gdb: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, not stripped
$

Какие-либо подробности о том, почему gdb не распознает формат файла для devli? Я искал по Интернету, но не смог найти ничего, связанного с этой конкретной проблемой. Любые указатели будут полезны.

a.c входит в a, построенный с использованием gcc; devli с использованием Sun ONE Studio 8.

1 Ответ

0 голосов
/ 26 декабря 2009

Обратите внимание, что GDB 6.4 4 года. Возможно, вам повезет больше (текущий) GDB 7.0.

Также возможно, что исполнимый файл devli поврежден (file просто просматривает первые несколько байтов исполняемого файла, но GDB требует, чтобы гораздо больше содержимого файла было самосогласованным). readelf --all > /dev/null сообщает о каких-либо предупреждениях?

...