From 1d38e9d14cc793bca9124d5ed7dc2a6e3122f2e5 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 18 Sep 2019 15:04:27 +0930 Subject: Constify target name, reloc name, and carsym name bfd/ * 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. gdb/ * 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. ld/ * ldlang.c (stricpy, strcut, name_compare): Constify params. (get_first_input_target): Make return and "target" const. --- bfd/ChangeLog | 10 ++++++++++ bfd/bfd-in.h | 2 +- bfd/bfd-in2.h | 6 +++--- bfd/bfd.c | 2 +- bfd/reloc.c | 2 +- bfd/som.c | 19 +++++++++++-------- bfd/targets.c | 2 +- 7 files changed, 28 insertions(+), 15 deletions(-) (limited to 'bfd') diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 08605c3..8c5ce8b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,15 @@ 2019-09-18 Alan Modra + * 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 + * 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 6544838..6c72acb 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 13445a1..135c1e5 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 f14ec25..9140350 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 9ca68ca..8eac73d 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 02a99a3..cf78843 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 0995699..b02dfc5 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. *} -- cgit v1.1