diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7f8ac0e9622c8a632d261454748f1f38a595244a..e536c404f9dbbb1e3181064b2f9d9b95d0b9422d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2007-01-19  Steve Ellcey  <sje@cup.hp.com>
+
+	* system.h (ASM_MAKE_LABEL_LINKONCE): Poison.
+	* varasm.c (globalize_decl): Remove ASM_MAKE_LABEL_LINKONCE ifdef.
+
 2007-01-19  Tomas Bily  <tbily@suse.cz>
 
         * cgraphunit.c (cgraph_finalize_function): Updating of pid
diff --git a/gcc/system.h b/gcc/system.h
index 4d191e7009d32b99c1c696774077c32e06bf9410..7a3c489e1d4c7a5e4a3d93ba1401d7a518d0bdf4 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -736,7 +736,8 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
 	EXTRA_SECTIONS EXTRA_SECTION_FUNCTIONS READONLY_DATA_SECTION	   \
 	TARGET_ASM_EXCEPTION_SECTION TARGET_ASM_EH_FRAME_SECTION	   \
 	SMALL_ARG_MAX ASM_OUTPUT_SHARED_BSS ASM_OUTPUT_SHARED_COMMON	   \
-	ASM_OUTPUT_SHARED_LOCAL UNALIGNED_WORD_ASM_OP
+	ASM_OUTPUT_SHARED_LOCAL UNALIGNED_WORD_ASM_OP			   \
+	ASM_MAKE_LABEL_LINKONCE
 
 /* Hooks that are no longer used.  */
  #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE	\
diff --git a/gcc/varasm.c b/gcc/varasm.c
index ff1ee6e05776dc82794536709b01e76f89825db1..0cb8f86eadc6afa8f7d660f5d936be766a77300b 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -4775,9 +4775,6 @@ globalize_decl (tree decl)
 
       return;
     }
-#elif defined(ASM_MAKE_LABEL_LINKONCE)
-  if (DECL_ONE_ONLY (decl))
-    ASM_MAKE_LABEL_LINKONCE (asm_out_file, name);
 #endif
 
   targetm.asm_out.globalize_label (asm_out_file, name);