- ASM_GENERATE_INTERNAL_LABEL (label, "LC", const_labelno);
- ++const_labelno;
- const_sym = ggc_strdup (label);
+ if (USE_LINKONCE_INDIRECT)
+ {
+ char *ref_name = alloca (strlen (str) + sizeof "DW.ref.");
+
+ sprintf (ref_name, "DW.ref.%s", str);
+ id = get_identifier (ref_name);
+ decl = build_decl (VAR_DECL, id, ptr_type_node);
+ DECL_ARTIFICIAL (decl) = 1;
+ TREE_PUBLIC (decl) = 1;
+ DECL_INITIAL (decl) = decl;
+ make_decl_one_only (decl);
+ }
+ else
+ {
+ char label[32];
+
+ ASM_GENERATE_INTERNAL_LABEL (label, "LDFCM", dw2_const_labelno);
+ ++dw2_const_labelno;
+ id = get_identifier (label);
+ decl = build_decl (VAR_DECL, id, ptr_type_node);
+ DECL_ARTIFICIAL (decl) = 1;
+ TREE_STATIC (decl) = 1;
+ DECL_INITIAL (decl) = decl;
+ }