diff options
author | Adam Sampson <ats@offog.org> | 2024-05-06 18:16:33 +0100 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2024-07-08 22:15:34 +0200 |
commit | 895294e51d33039c1e718d2be88a9863670ac4d6 (patch) | |
tree | 169f7dc67c40196ec055d034ec4c99e0ab98912c /elf/readlib.c | |
parent | ed2b8d3a866eb37e069f6a71bdf10421cd4c5e54 (diff) | |
download | glibc-895294e51d33039c1e718d2be88a9863670ac4d6.zip glibc-895294e51d33039c1e718d2be88a9863670ac4d6.tar.gz glibc-895294e51d33039c1e718d2be88a9863670ac4d6.tar.bz2 |
ldconfig: Ignore all GDB extension files
ldconfig already ignores files with the -gdb.py suffix, but GDB also
looks for -gdb.gdb and -gdb.scm files. These aren't as widely used, but
libguile at least comes with a -gdb.scm file.
Rename is_gdb_python_file to is_gdb_extension_file, and make it
recognise all three types of GDB extension.
Signed-off-by: Adam Sampson <ats@offog.org>
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'elf/readlib.c')
-rw-r--r-- | elf/readlib.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/elf/readlib.c b/elf/readlib.c index 32e8b8e..f3129c4 100644 --- a/elf/readlib.c +++ b/elf/readlib.c @@ -44,12 +44,14 @@ struct known_names int flag; }; -/* Check if string corresponds to a GDB Python file. */ +/* Check if string corresponds to a GDB extension file. */ static bool -is_gdb_python_file (const char *name) +is_gdb_extension_file (const char *name) { size_t len = strlen (name); - return endswithn (name, len, "-gdb.py"); + return (endswithn (name, len, "-gdb.gdb") + || endswithn (name, len, "-gdb.py") + || endswithn (name, len, "-gdb.scm")); } /* Returns 0 if everything is ok, != 0 in case of error. */ @@ -146,7 +148,7 @@ process_file (const char *real_file_name, const char *file_name, size_t len = MIN (statbuf.st_size, 512); if (memmem (file_contents, len, "GROUP", 5) == NULL && memmem (file_contents, len, "GNU ld script", 13) == NULL - && !is_gdb_python_file (file_name)) + && !is_gdb_extension_file (file_name)) error (0, 0, _("%s is not an ELF file - it has the wrong magic bytes at the start.\n"), file_name); ret = 1; |