diff options
author | Richard Henderson <rth@redhat.com> | 2000-12-28 10:07:56 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 2000-12-28 10:07:56 +0000 |
commit | 0a9ef439079f50221dad9eb5248387236d370c87 (patch) | |
tree | c9e2b708439e46a331746ead00c3c709f5c82bb9 /gas/read.c | |
parent | bda9cb723c0f733f03ed6fe74dfc3b87fe5e775f (diff) | |
download | gdb-0a9ef439079f50221dad9eb5248387236d370c87.zip gdb-0a9ef439079f50221dad9eb5248387236d370c87.tar.gz gdb-0a9ef439079f50221dad9eb5248387236d370c87.tar.bz2 |
* as.h (rs_align_test): New.
* frags.c (NOP_OPCODE): Move default from read.c.
(MAX_MEM_FOR_RS_ALIGN_CODE): New default.
(frag_align_code): New.
* frags.h (frag_align_code): Declare.
* read.c (NOP_OPCODE): Remove.
(do_align): Use frag_align_code.
* write.c (NOP_OPCODE): Remove.
(get_recorded_alignment): New.
(cvt_frag_to_fill): Handle rs_align_test.
(relax_segment): Likewise.
(subsegs_finish): Align last subseg in section to the
section alignment. Use frag_align_code.
* write.h (get_recorded_alignment): Declare.
* config/obj-coff.c (size_section): Handle rs_align_test.
(fill_section, fixup_mdeps): Likewise.
(write_object_file): Use frag_align_code.
* config/tc-alpha.c (alpha_align): Use frag_align_code.
(alpha_handle_align): New.
* config/tc-alpha.h (HANDLE_ALIGN): New.
(MAX_MEM_FOR_RS_ALIGN_CODE): New.
* config/tc-i386.h (md_do_align): Use frag_align_code.
(MAX_MEM_FOR_RS_ALIGN_CODE): New.
* config/tc-ia64.c (ia64_md_do_align): Don't do code alignment.
(ia64_handle_align): New.
* config/tc-ia64.h (HANDLE_ALIGN): New.
(MAX_MEM_FOR_RS_ALIGN_CODE): New.
* config/tc-m32r.c (m32r_do_align): Remove.
(m32r_handle_align): New.
(fill_insn): Use frag_align_code.
* config/tc-m32r.h (md_do_align): Remove.
(HANDLE_ALIGN, MAX_MEM_FOR_RS_ALIGN_CODE): New.
* config/tc-m88k.c, config/tc-m88k.h: Similarly.
* config/tc-mips.c, config/tc-mips.h: Similarly.
* config/tc-sh.c (sh_cons_align): Use rs_align_test.
(sh_handle_align): Likewise. Handle rs_align_code.
(sh_do_align): Remove.
* config/tc-sh.h (md_do_align): Remove.
(MAX_MEM_FOR_RS_ALIGN_CODE): New.
* config/tc-sparc.c (sparc_cons_align): Use rs_align_test.
(sparc_handle_align): Likewise. Handle rs_align_code.
* config/tc-sparc.h (md_do_align): Remove.
(MAX_MEM_FOR_RS_ALIGN_CODE): New.
Diffstat (limited to 'gas/read.c')
-rw-r--r-- | gas/read.c | 28 |
1 files changed, 8 insertions, 20 deletions
@@ -67,13 +67,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA while (0) #endif -/* The NOP_OPCODE is for the alignment fill value. - Fill it a nop instruction so that the disassembler does not choke - on it. */ -#ifndef NOP_OPCODE -#define NOP_OPCODE 0x00 -#endif - char *input_line_pointer; /*->next char of source file to parse. */ #if BITS_PER_CHAR != 8 @@ -1172,26 +1165,21 @@ do_align (n, fill, len, max) int len; int max; { - char default_fill; - #ifdef md_do_align md_do_align (n, fill, len, max, just_record_alignment); #endif - if (fill == NULL) - { - if (subseg_text_p (now_seg)) - default_fill = NOP_OPCODE; - else - default_fill = 0; - fill = &default_fill; - len = 1; - } - /* Only make a frag if we HAVE to... */ if (n != 0 && !need_pass_2) { - if (len <= 1) + if (fill == NULL) + { + if (subseg_text_p (now_seg)) + frag_align_code (n, max); + else + frag_align (n, 0, max); + } + else if (len <= 1) frag_align (n, *fill, max); else frag_align_pattern (n, fill, len, max); |