mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-27 17:40:49 +00:00
gdb: adjust x_file fields on COFF readers
Commit e86fc4a5bc ("PR 28447: implement multiple parameters for .file
on XCOFF") changes the structure associated to the internal
representation of files in COFF formats. However, gdb directory update
has been forgotten, leading to compilation errors of this kind:
CXX coffread.o
/home/simark/src/binutils-gdb/gdb/coffread.c: In function 'const char* coff_getfilename(internal_auxent*)':
/home/simark/src/binutils-gdb/gdb/coffread.c:1343:29: error: 'union internal_auxent::<unnamed struct>::<unnamed>' has no member named 'x_zeroes'
1343 | if (aux_entry->x_file.x_n.x_zeroes == 0)
| ^~~~~~~~
Fix it by adjusting the COFF code in GDB.
Change-Id: I703fa134bc722d47515efbd72b88fa5650af6c3c
This commit is contained in:
committed by
Simon Marchi
parent
7cfa8d93cb
commit
b08625af20
@@ -1340,15 +1340,15 @@ coff_getfilename (union internal_auxent *aux_entry)
|
||||
static char buffer[BUFSIZ];
|
||||
const char *result;
|
||||
|
||||
if (aux_entry->x_file.x_n.x_zeroes == 0)
|
||||
if (aux_entry->x_file.x_n.x_n.x_zeroes == 0)
|
||||
{
|
||||
if (strlen (stringtab + aux_entry->x_file.x_n.x_offset) >= BUFSIZ)
|
||||
if (strlen (stringtab + aux_entry->x_file.x_n.x_n.x_offset) >= BUFSIZ)
|
||||
internal_error (__FILE__, __LINE__, _("coff file name too long"));
|
||||
strcpy (buffer, stringtab + aux_entry->x_file.x_n.x_offset);
|
||||
strcpy (buffer, stringtab + aux_entry->x_file.x_n.x_n.x_offset);
|
||||
}
|
||||
else
|
||||
{
|
||||
strncpy (buffer, aux_entry->x_file.x_fname, FILNMLEN);
|
||||
strncpy (buffer, aux_entry->x_file.x_n.x_fname, FILNMLEN);
|
||||
buffer[FILNMLEN] = '\0';
|
||||
}
|
||||
result = buffer;
|
||||
|
||||
@@ -1678,12 +1678,12 @@ coff_getfilename (union internal_auxent *aux_entry, struct objfile *objfile)
|
||||
{
|
||||
static char buffer[BUFSIZ];
|
||||
|
||||
if (aux_entry->x_file.x_n.x_zeroes == 0)
|
||||
if (aux_entry->x_file.x_n.x_n.x_zeroes == 0)
|
||||
strcpy (buffer, (XCOFF_DATA (objfile)->strtbl
|
||||
+ aux_entry->x_file.x_n.x_offset));
|
||||
+ aux_entry->x_file.x_n.x_n.x_offset));
|
||||
else
|
||||
{
|
||||
strncpy (buffer, aux_entry->x_file.x_fname, FILNMLEN);
|
||||
strncpy (buffer, aux_entry->x_file.x_n.x_fname, FILNMLEN);
|
||||
buffer[FILNMLEN] = '\0';
|
||||
}
|
||||
return (buffer);
|
||||
|
||||
Reference in New Issue
Block a user