Bug 14306 - GDB doesn't work when execing different format
Summary: GDB doesn't work when execing different format
Status: RESOLVED FIXED
Alias: None
Product: gdb
Classification: Unclassified
Component: gdb (show other bugs)
Version: 7.4
: P2 normal
Target Milestone: 7.6
Assignee: Pedro Alves
URL:
Keywords:
: 15093 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-06-27 23:22 UTC by H.J. Lu
Modified: 2013-02-04 18:17 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2012-06-27 23:22:51 UTC
On Linux/x86-64:

[hjl@gnu-6 tmp]$ cat x.c
#include <unistd.h>

int
main ()
{
  execl ("/bin/ls", "ls", NULL);
}
[hjl@gnu-6 tmp]$ gcc -m32 x.c -g
[hjl@gnu-6 tmp]$ ./a.out 
...
plugtmp-23	       zlib
[hjl@gnu-6 tmp]$ gdb a.out
GNU gdb (GDB) 7.4.50.20120327-cvs
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /tmp/a.out...done.
(gdb) b main
Breakpoint 1 at 0x80483f5: file x.c, line 6.
(gdb) r
Starting program: /tmp/a.out 

Breakpoint 1, main () at x.c:6
6	  execl ("/bin/ls", "ls", NULL);
(gdb) c
Continuing.
process 21057 is executing new program: /usr/bin/ls
warning: Selected architecture i386:x86-64 is not compatible with reported target architecture i386
Architecture of file not recognized.
(gdb)
Comment 1 Pedro Alves 2012-11-09 10:08:55 UTC
We need to flush the target description on execs.
Comment 2 Sourceware Commits 2012-11-09 12:20:36 UTC
CVSROOT:	/cvs/src
Module name:	src
Changes by:	palves@sourceware.org	2012-11-09 12:20:24

Modified files:
	gdb            : ChangeLog infrun.c 
	gdb/testsuite  : ChangeLog 
Added files:
	gdb/testsuite/gdb.multi: multi-arch-exec.c multi-arch-exec.exp 

Log message:
	2012-11-09  Pedro Alves  <palves@redhat.com>
	
	PR gdb/14306
	
	* infrun.c: Include target-descriptions.h.
	(follow_exec): Fetch new target description.
	
	gdb/testsuite/
	2012-11-09  Pedro Alves  <palves@redhat.com>
	
	PR gdb/14306
	
	* gdb.multi/multi-arch-exec.c: New file.
	* gdb.multi/multi-arch-exec.exp: New file.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.14806&r2=1.14807
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/infrun.c.diff?cvsroot=src&r1=1.564&r2=1.565
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/ChangeLog.diff?cvsroot=src&r1=1.3448&r2=1.3449
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.multi/multi-arch-exec.c.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.multi/multi-arch-exec.exp.diff?cvsroot=src&r1=NONE&r2=1.1
Comment 3 Pedro Alves 2012-11-09 14:30:00 UTC
Patch checked in:

 http://sourceware.org/ml/gdb-patches/2012-11/msg00247.html
Comment 4 Reid Kleckner 2013-02-04 18:17:17 UTC
*** Bug 15093 has been marked as a duplicate of this bug. ***