summaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 977ca40a0..34890b338 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -2045,14 +2045,19 @@ assemble_variable (tree decl, int top_level ATTRIBUTE_UNUSED,
gcc_assert (!dont_output_data);
place_block_symbol (symbol);
}
- else if (SECTION_STYLE (sect) == SECTION_NOSWITCH)
- assemble_noswitch_variable (decl, name, sect);
else
{
- switch_to_section (sect);
- if (DECL_ALIGN (decl) > BITS_PER_UNIT)
- ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (DECL_ALIGN_UNIT (decl)));
- assemble_variable_contents (decl, name, dont_output_data);
+ ASM_OUTPUT_GOT_ENTRY (asm_out_file,name,decl,sect);
+
+ if (SECTION_STYLE (sect) == SECTION_NOSWITCH)
+ assemble_noswitch_variable (decl, name, sect);
+ else
+ {
+ switch_to_section (sect);
+ if (DECL_ALIGN (decl) > BITS_PER_UNIT)
+ ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (DECL_ALIGN_UNIT (decl)));
+ assemble_variable_contents (decl, name, dont_output_data);
+ }
}
}