summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog10
-rw-r--r--bfd/bfd-in.h2
-rw-r--r--bfd/bfd-in2.h6
-rw-r--r--bfd/bfd.c2
-rw-r--r--bfd/reloc.c2
-rw-r--r--bfd/som.c19
-rw-r--r--bfd/targets.c2
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/amd64-dicos-tdep.c2
-rw-r--r--gdb/i386-cygwin-tdep.c2
-rw-r--r--gdb/i386-dicos-tdep.c2
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/ldlang.c10
13 files changed, 47 insertions, 23 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 08605c3a80a..8c5ce8b8b2a 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,15 @@
2019-09-18 Alan Modra <amodra@gmail.com>
+ * bfd-in.h (carsym.name): Make const.
+ * reloc.c (struct reloc_howto_struct.name): Likewise.
+ * targets.c (bfd_target.name): Likewise.!
+ * bfd.c (bfd_get_sign_extend_vma): Make variable const.
+ * som.c (som_bfd_fill_in_ar_symbols): Use an intermediary variable
+ when setting carsym.name.
+ * bfd-in2.h: Regenerate.
+
+2019-09-18 Alan Modra <amodra@gmail.com>
+
* mach-o.c (bfd_mach_o_fat_member_init): Likewise. Replace
xstrdup and xmalloc with bfd_strdup and bfd_malloc. Return an
error status. Adjust calls.
diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
index 6544838a575..6c72acb7059 100644
--- a/bfd/bfd-in.h
+++ b/bfd/bfd-in.h
@@ -257,7 +257,7 @@ typedef unsigned long symindex;
/* This is a type pun with struct ranlib on purpose! */
typedef struct carsym
{
- char *name;
+ const char *name;
file_ptr file_offset; /* Look here to find the file. */
}
carsym; /* To make these you call a carsymogen. */
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 13445a1de71..135c1e5fbc4 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -264,7 +264,7 @@ typedef unsigned long symindex;
/* This is a type pun with struct ranlib on purpose! */
typedef struct carsym
{
- char *name;
+ const char *name;
file_ptr file_offset; /* Look here to find the file. */
}
carsym; /* To make these you call a carsymogen. */
@@ -2718,7 +2718,7 @@ struct reloc_howto_struct
bfd *, char **);
/* The textual name of the relocation type. */
- char *name;
+ const char *name;
};
#define HOWTO(type, right, size, bits, pcrel, left, ovf, func, name, \
@@ -7634,7 +7634,7 @@ typedef struct flag_info flag_info;
typedef struct bfd_target
{
/* Identifies the kind of target, e.g., SunOS4, Ultrix, etc. */
- char *name;
+ const char *name;
/* The "flavour" of a back end is a general indication about
the contents of a file. */
diff --git a/bfd/bfd.c b/bfd/bfd.c
index f14ec253fb7..91403508a9a 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -1507,7 +1507,7 @@ RETURNS
int
bfd_get_sign_extend_vma (bfd *abfd)
{
- char *name;
+ const char *name;
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
return get_elf_backend_data (abfd)->sign_extend_vma;
diff --git a/bfd/reloc.c b/bfd/reloc.c
index 9ca68ca61da..8eac73ddfe5 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -361,7 +361,7 @@ CODE_FRAGMENT
. bfd *, char **);
.
. {* The textual name of the relocation type. *}
-. char *name;
+. const char *name;
.};
.
*/
diff --git a/bfd/som.c b/bfd/som.c
index 02a99a33607..cf788434523 100644
--- a/bfd/som.c
+++ b/bfd/som.c
@@ -5995,6 +5995,7 @@ som_bfd_fill_in_ar_symbols (bfd *abfd,
unsigned int hash_val;
unsigned int len;
unsigned char ext_len[4];
+ char *name;
/* An empty chain has zero as it's file offset. */
hash_val = bfd_getb32 (hash_table + 4 * i);
@@ -6025,13 +6026,14 @@ som_bfd_fill_in_ar_symbols (bfd *abfd,
len = bfd_getb32 (ext_len);
/* Allocate space for the name and null terminate it too. */
- set->name = bfd_zalloc (abfd, (bfd_size_type) len + 1);
- if (!set->name)
+ name = bfd_zalloc (abfd, (bfd_size_type) len + 1);
+ if (!name)
goto error_return;
- if (bfd_bread (set->name, (bfd_size_type) len, abfd) != len)
+ if (bfd_bread (name, (bfd_size_type) len, abfd) != len)
goto error_return;
- set->name[len] = 0;
+ name[len] = 0;
+ set->name = name;
/* Fill in the file offset. Note that the "location" field points
to the SOM itself, not the ar_hdr in front of it. */
@@ -6068,13 +6070,14 @@ som_bfd_fill_in_ar_symbols (bfd *abfd,
len = bfd_getb32 (ext_len);
/* Allocate space for the name and null terminate it too. */
- set->name = bfd_zalloc (abfd, (bfd_size_type) len + 1);
- if (!set->name)
+ name = bfd_zalloc (abfd, (bfd_size_type) len + 1);
+ if (!name)
goto error_return;
- if (bfd_bread (set->name, (bfd_size_type) len, abfd) != len)
+ if (bfd_bread (name, (bfd_size_type) len, abfd) != len)
goto error_return;
- set->name[len] = 0;
+ name[len] = 0;
+ set->name = name;
/* Fill in the file offset. Note that the "location" field points
to the SOM itself, not the ar_hdr in front of it. */
diff --git a/bfd/targets.c b/bfd/targets.c
index 09956994ec9..b02dfc54847 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -179,7 +179,7 @@ DESCRIPTION
.typedef struct bfd_target
.{
. {* Identifies the kind of target, e.g., SunOS4, Ultrix, etc. *}
-. char *name;
+. const char *name;
.
. {* The "flavour" of a back end is a general indication about
. the contents of a file. *}
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9ad5000480c..5e0e37bcfaf 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2019-09-18 Alan Modra <amodra@gmail.com>
+ * amd64-dicos-tdep.c (amd64_dicos_osabi_sniffer): Constify target.
+ * i386-cygwin-tdep.c (i386_cygwin_init_abi): Likewise.
+ * i386-dicos-tdep.c (i386_dicos_osabi_sniffer): Likewise.
+
+2019-09-18 Alan Modra <amodra@gmail.com>
+
* solib-spu.c (spu_bfd_open): Use bfd_set_filename.
* spu-linux-nat.c (spu_bfd_open): Likewise.
diff --git a/gdb/amd64-dicos-tdep.c b/gdb/amd64-dicos-tdep.c
index e797843bc9f..ee91888491b 100644
--- a/gdb/amd64-dicos-tdep.c
+++ b/gdb/amd64-dicos-tdep.c
@@ -35,7 +35,7 @@ amd64_dicos_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
static enum gdb_osabi
amd64_dicos_osabi_sniffer (bfd *abfd)
{
- char *target_name = bfd_get_target (abfd);
+ const char *target_name = bfd_get_target (abfd);
/* On amd64-DICOS, the Load Module's "header" section is 72
bytes. */
diff --git a/gdb/i386-cygwin-tdep.c b/gdb/i386-cygwin-tdep.c
index 1acd37975ee..0e3ba82b764 100644
--- a/gdb/i386-cygwin-tdep.c
+++ b/gdb/i386-cygwin-tdep.c
@@ -229,7 +229,7 @@ i386_cygwin_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
static enum gdb_osabi
i386_cygwin_osabi_sniffer (bfd *abfd)
{
- char *target_name = bfd_get_target (abfd);
+ const char *target_name = bfd_get_target (abfd);
if (strcmp (target_name, "pei-i386") == 0)
return GDB_OSABI_CYGWIN;
diff --git a/gdb/i386-dicos-tdep.c b/gdb/i386-dicos-tdep.c
index 02af91aefd8..a8c7c04d1fc 100644
--- a/gdb/i386-dicos-tdep.c
+++ b/gdb/i386-dicos-tdep.c
@@ -31,7 +31,7 @@ i386_dicos_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
static enum gdb_osabi
i386_dicos_osabi_sniffer (bfd *abfd)
{
- char *target_name = bfd_get_target (abfd);
+ const char *target_name = bfd_get_target (abfd);
/* On x86-DICOS, the Load Module's "header" section is 36 bytes. */
if (strcmp (target_name, "elf32-i386") == 0
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 81935a408c5..b863676ccd1 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,10 @@
2019-09-18 Alan Modra <amodra@gmail.com>
+ * ldlang.c (stricpy, strcut, name_compare): Constify params.
+ (get_first_input_target): Make return and "target" const.
+
+2019-09-18 Alan Modra <amodra@gmail.com>
+
* emultempl/pe.em (after_open): Use bfd_set_filename.
* emultempl/pep.em (after_open): Use bfd_set_filename.
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 8beccd37363..76e862a6409 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -3149,7 +3149,7 @@ get_target (const bfd_target *target, void *data)
/* Like strcpy() but convert to lower case as well. */
static void
-stricpy (char *dest, char *src)
+stricpy (char *dest, const char *src)
{
char c;
@@ -3163,7 +3163,7 @@ stricpy (char *dest, char *src)
from haystack. */
static void
-strcut (char *haystack, char *needle)
+strcut (char *haystack, const char *needle)
{
haystack = strstr (haystack, needle);
@@ -3182,7 +3182,7 @@ strcut (char *haystack, char *needle)
Return a value indicating how "similar" they are. */
static int
-name_compare (char *first, char *second)
+name_compare (const char *first, const char *second)
{
char *copy1;
char *copy2;
@@ -3267,10 +3267,10 @@ closest_target_match (const bfd_target *target, void *data)
/* Return the BFD target format of the first input file. */
-static char *
+static const char *
get_first_input_target (void)
{
- char *target = NULL;
+ const char *target = NULL;
LANG_FOR_EACH_INPUT_STATEMENT (s)
{