extern void abort (void);
-int foo __asm__ ("foo") __attribute__((nocommon));
+#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname)
+#define ASMNAME2(prefix, cname) STRING (prefix) cname
+#define STRING(x) #x
+
+int foo __asm__ (ASMNAME ("foo")) __attribute__((nocommon));
extern __typeof (foo) bar __attribute__ ((weak, alias ("foo")));
int