summaryrefslogtreecommitdiff
path: root/gas/read.h
diff options
context:
space:
mode:
authorDan Gisselquist <dgisselq@verizon.net>2016-02-18 09:47:31 +0000
committerNick Clifton <nickc@redhat.com>2016-02-18 09:49:04 +0000
commit9136aa49abcb3f23171e01ebd16ee03cc1032943 (patch)
treee1267f52546b36fca957fdba4bae52e55a5d15f2 /gas/read.h
parent0748bf3e5804e9a93c788ffba95473168a4397f6 (diff)
Avoid setting or recording negative alignments when the target stores multiple octets in a single byte.
gas * read.c (finish_bundle): Avoid recording a negative alignment. (do_align): Use unsigned values for n, len and max. Only create a frag if the alignment requirement is greater than the minimum byte alignment. Avoid recording a negative alignment. (s_align): Use unsigned values where appropriate. (bss_alloc): Use an unsigned value for the alignment. (sizeof_sleb128): Add a comment noting that we encode one octet per byte, regardless of the value of OCTETS_PER_BYTE_POWER. (emit_leb129_expr): Abort if the emitted encoding was longer than expected. * read.h (output_leb128): Update prototype. (sizeof_leb128): Update prototype. (bss_alloc): Update prototype. * write.c (record_alignment): Use an unsigned value for the alignment. Do not record alignments less than the minimum alignment for a byte. * write.h (record_alignment): Update prototype.
Diffstat (limited to 'gas/read.h')
-rw-r--r--gas/read.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/gas/read.h b/gas/read.h
index c1b040a5d6..146dc3657c 100644
--- a/gas/read.h
+++ b/gas/read.h
@@ -128,17 +128,17 @@ extern void emit_expr_with_reloc (expressionS *exp, unsigned int nbytes,
TC_PARSE_CONS_RETURN_TYPE);
extern void emit_expr_fix (expressionS *, unsigned int, fragS *, char *,
TC_PARSE_CONS_RETURN_TYPE);
-extern void equals (char *sym_name, int reassign);
-extern void float_cons (int float_type);
+extern void equals (char *, int);
+extern void float_cons (int);
extern void ignore_rest_of_line (void);
#define discard_rest_of_line ignore_rest_of_line
-extern int output_leb128 (char *, valueT, int sign);
+extern unsigned output_leb128 (char *, valueT, int);
extern void pseudo_set (symbolS * symbolP);
extern void read_a_source_file (char *name);
extern void read_begin (void);
extern void read_print_statistics (FILE *);
extern char *read_symbol_name (void);
-extern int sizeof_leb128 (valueT, int sign);
+extern unsigned sizeof_leb128 (valueT, int);
extern void stabs_generate_asm_file (void);
extern void stabs_generate_asm_lineno (void);
extern void stabs_generate_asm_func (const char *, const char *);
@@ -153,7 +153,7 @@ extern void generate_lineno_debug (void);
extern void s_abort (int) ATTRIBUTE_NORETURN;
extern void s_align_bytes (int arg);
extern void s_align_ptwo (int);
-extern void bss_alloc (symbolS *, addressT, int);
+extern void bss_alloc (symbolS *, addressT, unsigned);
extern offsetT parse_align (int);
extern symbolS *s_comm_internal (int, symbolS *(*) (int, symbolS *, addressT));
extern symbolS *s_lcomm_internal (int, symbolS *, addressT);