aboutsummaryrefslogtreecommitdiff
path: root/elf/readlib.c
diff options
context:
space:
mode:
authorAdam Sampson <ats@offog.org>2024-05-06 18:16:33 +0100
committerAndreas K. Hüttel <dilfridge@gentoo.org>2024-07-08 22:15:34 +0200
commit895294e51d33039c1e718d2be88a9863670ac4d6 (patch)
tree169f7dc67c40196ec055d034ec4c99e0ab98912c /elf/readlib.c
parented2b8d3a866eb37e069f6a71bdf10421cd4c5e54 (diff)
downloadglibc-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.c10
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;