[gdb] Fix 'not in executable format' error message
authorTom de Vries <tdevries@suse.de>
Mon, 23 Aug 2021 10:08:25 +0000 (12:08 +0200)
committerTom de Vries <tdevries@suse.de>
Mon, 23 Aug 2021 10:08:25 +0000 (12:08 +0200)
commita9680e0e54cfd8a12ddb1a583b4acb96dc2bbdbd
treec651b3845c15b82d0d4b3b0c9a20bbc24f2897a3
parent74cdc3e0888f1ffc3973a4826e85dd32e5a51037
[gdb] Fix 'not in executable format' error message

With trying to load a non-executable file into gdb, we run into PR26880:
...
$ gdb -q -batch test.c
"0x7ffc87bfc8d0s": not in executable format: \
  file format not recognized
...

The problem is caused by using %ps in combination with the error function
(note that confusingly, it does work in combination with the warning
function).

Fix this by using plain "%s" instead.

Tested on x86_64-linux.

gdb/ChangeLog:

2021-08-22  Tom de Vries  <tdevries@suse.de>

PR gdb/26880
* gdb/exec.c (exec_file_attach): Use %s instead of %ps in call to
error function.

gdb/testsuite/ChangeLog:

2021-08-22  Tom de Vries  <tdevries@suse.de>

PR gdb/26880
* gdb.base/non-executable.exp: New file.
gdb/exec.c
gdb/testsuite/gdb.base/non-executable.exp [new file with mode: 0644]