From e4a0c708776681a6839c4335f999e45251e7b991 Mon Sep 17 00:00:00 2001 From: Trevor Saunders Date: Sun, 20 Mar 2016 01:37:55 -0400 Subject: [PATCH] make xtensa_section_rename () take const char * Xtensa uses it in several macros passing it a literal string, so its convenient for the argument type to be const char *. However some of the code in symbols.c seems to assume tc_canonicalize_symbol_name () will return a non const pointer, and some other target's implementations even modify the argument, so it seems best to return a char * which means casting away const on the argument when we return it instead of another string. gas/ChangeLog: 2016-03-31 Trevor Saunders * config/tc-xtensa.c (struct rename_section_struct): Make old_name const. (xtensa_section_rename): Make argument type const char *. * config/tc-xtensa.h (xtensa_section_rename): Adjust. --- gas/ChangeLog | 7 +++++++ gas/config/tc-xtensa.c | 6 +++--- gas/config/tc-xtensa.h | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 90ed4aee8c2..3294a8ff959 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2016-03-31 Trevor Saunders + + * config/tc-xtensa.c (struct rename_section_struct): Make old_name + const. + (xtensa_section_rename): Make argument type const char *. + * config/tc-xtensa.h (xtensa_section_rename): Adjust. + 2016-03-31 Trevor Saunders * config/tc-i960.c (parse_ldconst): Cast to char * when assigning to diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c index abefdd2429a..fe16659fbbb 100644 --- a/gas/config/tc-xtensa.c +++ b/gas/config/tc-xtensa.c @@ -13104,7 +13104,7 @@ copy_expr (expressionS *dst, const expressionS *src) struct rename_section_struct { - char *old_name; + const char *old_name; char *new_name; struct rename_section_struct *next; }; @@ -13177,7 +13177,7 @@ build_section_rename (const char *arg) char * -xtensa_section_rename (char *name) +xtensa_section_rename (const char *name) { struct rename_section_struct *r = section_rename; @@ -13187,5 +13187,5 @@ xtensa_section_rename (char *name) return r->new_name; } - return name; + return (char *) name; } diff --git a/gas/config/tc-xtensa.h b/gas/config/tc-xtensa.h index c8a5029bce4..2c7b16e5543 100644 --- a/gas/config/tc-xtensa.h +++ b/gas/config/tc-xtensa.h @@ -333,7 +333,7 @@ extern void xtensa_elf_section_change_hook (void); extern int xtensa_unrecognized_line (int); extern bfd_boolean xtensa_check_inside_bundle (void); extern void xtensa_handle_align (fragS *); -extern char *xtensa_section_rename (char *); +extern char *xtensa_section_rename (const char *); #define TARGET_FORMAT xtensa_target_format () #define TARGET_ARCH bfd_arch_xtensa -- 2.30.2