gas: utility notes memory alloc functions

Makes it a little easier to use the notes obstack for persistent
storage.

	* as.h (gas_mul_overflow): Define.
	* symbols.h (notes_alloc, notes_calloc, notes_memdup),
	(notes_strdup, notes_concat, notes_free): Declare.
	* symbols.c (notes_alloc, notes_calloc, notes_memdup),
	(notes_strdup, notes_concat, notes_free): New functions.
	(save_symbol_name): Use notes_strdup.
	(symbol_create, local_symbol_make, local_symbol_convert),
	(symbol_clone, decode_local_label_name): Use notes_alloc.
This commit is contained in:
Alan Modra
2022-07-07 08:40:26 +09:30
parent d3be5dab55
commit c30081c1f9
3 changed files with 90 additions and 10 deletions

View File

@ -35,6 +35,13 @@ extern int symbol_table_frozen;
default. */
extern int symbols_case_sensitive;
extern void *notes_alloc (size_t);
extern void *notes_calloc (size_t, size_t);
extern void *notes_memdup (const void *, size_t, size_t);
extern char *notes_strdup (const char *);
extern char *notes_concat (const char *, ...);
extern void notes_free (void *);
char * symbol_relc_make_expr (expressionS *);
char * symbol_relc_make_sym (symbolS *);
char * symbol_relc_make_value (offsetT);