diff options
author | David S. Miller <davem@pierdol.cobaltmicro.com> | 1998-09-01 16:59:46 +0000 |
---|---|---|
committer | David S. Miller <davem@gcc.gnu.org> | 1998-09-01 09:59:46 -0700 |
commit | d676da681d2d16eed5594d6aa95ee340b6146bb8 (patch) | |
tree | bac817721e11ca6211c5dc6f9f6c2e155cb4f33a /gcc | |
parent | 59fa060f42bd2d31a1a15ea578fa500935579e7e (diff) | |
download | gcc-d676da681d2d16eed5594d6aa95ee340b6146bb8.zip gcc-d676da681d2d16eed5594d6aa95ee340b6146bb8.tar.gz gcc-d676da681d2d16eed5594d6aa95ee340b6146bb8.tar.bz2 |
sparc.c (finalize_pic): Don't output arbitrary alignment, use FUNCTION_BOUNDARY instead.
* config/sparc/sparc.c (finalize_pic): Don't output arbitrary
alignment, use FUNCTION_BOUNDARY instead.
(sparc_output_deferred_case_vectors): Likewise.
From-SVN: r22162
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.c | 14 |
2 files changed, 17 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e7665f3..5e26f60 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Tue Sep 1 15:55:17 1998 David S. Miller <davem@pierdol.cobaltmicro.com> + + * config/sparc/sparc.c (finalize_pic): Don't output arbitrary + alignment, use FUNCTION_BOUNDARY instead. + (sparc_output_deferred_case_vectors): Likewise. + Mon Aug 31 17:25:41 1998 David S. Miller <davem@pierdol.cobaltmicro.com> * config/sparc/sparc.md (movsf_const_intreg): Kill warning. diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 9784f1d..c7ce12a 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -2556,10 +2556,14 @@ finalize_pic () /* If we havn't emitted the special get_pc helper function, do so now. */ if (get_pc_symbol_name[0] == 0) { - ASM_GENERATE_INTERNAL_LABEL (get_pc_symbol_name, "LGETPC", 0); + int align; + ASM_GENERATE_INTERNAL_LABEL (get_pc_symbol_name, "LGETPC", 0); text_section (); - ASM_OUTPUT_ALIGN (asm_out_file, 3); + + align = floor_log2 (FUNCTION_BOUNDARY / BITS_PER_UNIT); + if (align > 0) + ASM_OUTPUT_ALIGN (asm_out_file, align); ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "LGETPC", 0); fputs ("\tretl\n\tadd %o7,%l7,%l7\n", asm_out_file); } @@ -7235,10 +7239,14 @@ static void sparc_output_deferred_case_vectors () { rtx t; + int align; /* Align to cache line in the function's code section. */ function_section (current_function_decl); - ASM_OUTPUT_ALIGN (asm_out_file, 5); + + align = floor_log2 (FUNCTION_BOUNDARY / BITS_PER_UNIT); + if (align > 0) + ASM_OUTPUT_ALIGN (asm_out_file, 5); for (t = sparc_addr_list; t ; t = XEXP (t, 1)) sparc_output_addr_vec (XEXP (t, 0)); |