diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2002-08-21 02:41:51 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2002-08-21 02:41:51 +0000 |
commit | 5eb99654a2c06c5547396318e121deb995076802 (patch) | |
tree | 269c31451cd645fdc0e61e57ac97f847064a3806 /gcc/varasm.c | |
parent | f8f28a755cc2a489d56a7affb95b2671b08fa8b8 (diff) | |
download | gcc-5eb99654a2c06c5547396318e121deb995076802.zip gcc-5eb99654a2c06c5547396318e121deb995076802.tar.gz gcc-5eb99654a2c06c5547396318e121deb995076802.tar.bz2 |
alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
* alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
* alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
* alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
* arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
(GLOBAL_ASM_OP): Define.
* arm.c (aof_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
* arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* c4x.c (c4x_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
* c4x.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
* darwin-protos.h (darwin_globalize_label): Declare.
* darwin.c (darwin_globalize_label): New function.
* darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
(ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
* dsp16xx.c (asm_output_common): Use target hook.
* elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
* frv.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* i370.c (i370_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
* i370.h (ASM_GLOBALIZE_LABEL): Delete.
* i386.c (ix86_asm_file_end): Use target hook.
* i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
(ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
* ia64.c (ia64_asm_output_external): Likewise.
* ia64/sysv4.h: Update comment.
* m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
* mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
* mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
* mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
* mmix-protos.h (mmix_asm_globalize_label): Delete.
* mmix.c (mmix_asm_globalize_label): Likewise.
* mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
(GLOBAL_ASM_OP): Define.
* ns32k.c (ns32k_globalize_label): New function.
* ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
(ASM_GLOBALIZE_LABEL): Delete.
* pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
(TARGET_ASM_GLOBALIZE_LABEL): Undefine.
* pa.c (pa_globalize_label): New function.
* pa.h (ASM_GLOBALIZE_LABEL): Delete.
(TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
* rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
(TARGET_ASM_GLOBALIZE_LABEL): Undef.
* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
* rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* v850.c (v850_output_aligned_bss): Use target hook.
* vax.c (vms_globalize_label): New function.
(TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
* vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
(GLOBAL_ASM_OP): Define.
* defaults.h (ASM_GLOBALIZE_LABEL): Delete.
* doc/tm.texi: Update docs.
* dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
target hook.
* final.c (output_alternate_entry_point): Likewise.
* hooks.c (hook_FILEptr_constcharptr_void): New function.
* hooks.h (hook_FILEptr_constcharptr_void): Declare.
* output.h (assemble_global): Delete.
(default_globalize_label): Declare.
* system.h (ASM_GLOBALIZE_LABEL): Poison.
* target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
(TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
* target.h (gcc_target): Add globalize_label member.
* varasm.c (asm_output_bss, asm_output_aligned_bss,
globalize_decl): Use target hook.
(assemble_global): Delete.
(default_globalize_label): New function.
From-SVN: r56478
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index c826849..b3ea8aa 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -506,7 +506,7 @@ asm_output_bss (file, decl, name, size, rounded) const char *name; int size ATTRIBUTE_UNUSED, rounded; { - ASM_GLOBALIZE_LABEL (file, name); + (*targetm.asm_out.globalize_label) (file, name); bss_section (); #ifdef ASM_DECLARE_OBJECT_NAME last_assemble_variable_decl = decl; @@ -534,7 +534,7 @@ asm_output_aligned_bss (file, decl, name, size, align) const char *name; int size, align; { - ASM_GLOBALIZE_LABEL (file, name); + (*targetm.asm_out.globalize_label) (file, name); bss_section (); ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT)); #ifdef ASM_DECLARE_OBJECT_NAME @@ -1754,15 +1754,6 @@ assemble_external_libcall (fun) #endif } -/* Declare the label NAME global. */ - -void -assemble_global (name) - const char *name ATTRIBUTE_UNUSED; -{ - ASM_GLOBALIZE_LABEL (asm_out_file, name); -} - /* Assemble a label named NAME. */ void @@ -4548,7 +4539,7 @@ globalize_decl (decl) } #endif - ASM_GLOBALIZE_LABEL (asm_out_file, name); + (*targetm.asm_out.globalize_label) (asm_out_file, name); } /* Emit an assembler directive to make the symbol for DECL an alias to @@ -5249,4 +5240,19 @@ default_binds_local_p (exp) return local_p; } +/* Default function to output code that will globalize a label. A + target must define GLOBAL_ASM_OP or provide it's own function to + globalize a label. */ +#ifdef GLOBAL_ASM_OP +void +default_globalize_label (stream, name) + FILE * stream; + const char *name; +{ + fputs (GLOBAL_ASM_OP, stream); + assemble_name (stream, name); + putc ('\n', stream); +} +#endif /* GLOBAL_ASM_OP */ + #include "gt-varasm.h" |