This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] Get rid of ASM_GLOBAL_DIRECTIVE
- From: Marek Polacek <polacek at redhat dot com>
- To: libc-alpha at sourceware dot org
- Date: Sat, 2 Jun 2012 22:46:33 +0200
- Subject: [PATCH] Get rid of ASM_GLOBAL_DIRECTIVE
This patch removes the ASM_GLOBAL_DIRECTIVE macro.
It would be nice if someone could give it a spin on ppc/s390x.
Tested only x86_64, ok for trunk?
2012-06-02 Marek Polacek <polacek@redhat.com>
[BZ #14151]
* configure.in (libc_cv_asm_global_directive): Remove test. Replace
libc_cv_asm_global_directive with .globl.
* configure: Regenerated.
* sysdeps/i386/configure.in: Replace libc_cv_asm_global_directive
with .globl.
* sysdeps/i386/configure: Regenerated.
* sysdeps/x86_64/configure.in: Replace libc_cv_asm_global_directive
with .globl.
* sysdeps/x86_64/configure: Regenerated.
* config.h.in: Do not undefine ASM_GLOBAL_DIRECTIVE.
* include/libc-symbols.h: Replace ASM_GLOBAL_DIRECTIVE with .globl.
* elf/tst-unique2mod2.c: Likewise.
* elf/tst-unique2mod1.c: Likewise.
* elf/tst-unique1mod2.c: Likewise.
* elf/tst-unique1mod1.c: Likewise.
* locale/localeinfo.h: Likewise.
* sysdeps/s390/s390-32/sysdep.h: Likewise.
* sysdeps/s390/s390-32/s390-mcount.S: Likewise.
* sysdeps/s390/s390-64/sysdep.h: Likewise.
* sysdeps/s390/s390-64/s390x-mcount.S: Likewise.
* sysdeps/mach/sysdep.h: Likewise.
* sysdeps/i386/sysdep.h: Likewise.
* sysdeps/i386/i386-mcount.S: Likewise.
* sysdeps/x86_64/_mcount.S: Likewise.
* sysdeps/x86_64/sysdep.h: Likewise.
* sysdeps/sh/_mcount.S: Likewise.
* sysdeps/sh/sysdep.h: Likewise.
* sysdeps/powerpc/powerpc32/gprsave1.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/fprrest.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/fprsave.S: Likewise.
* sysdeps/powerpc/powerpc32/sysdep.h: Likewise.
* sysdeps/powerpc/powerpc32/gprrest1.S: Likewise.
* sysdeps/powerpc/powerpc32/gprsave0.S: Likewise.
* sysdeps/powerpc/powerpc32/gprrest0.S: Likewise.
--- libc/configure.mp 2012-06-02 20:16:27.089152351 +0200
+++ libc/configure 2012-06-02 22:34:58.560881955 +0200
@@ -4075,41 +4075,6 @@ else
$as_echo "yes" >&6; }
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler global-symbol directive" >&5
-$as_echo_n "checking for assembler global-symbol directive... " >&6; }
-if ${libc_cv_asm_global_directive+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- libc_cv_asm_global_directive=UNKNOWN
-for ac_globl in .globl .global .EXPORT; do
- cat > conftest.s <<EOF
- ${libc_cv_dot_text}
- ${ac_globl} foo
-foo:
-EOF
- if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- libc_cv_asm_global_directive=${ac_globl}
- fi
- rm -f conftest*
- test $libc_cv_asm_global_directive != UNKNOWN && break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_global_directive" >&5
-$as_echo "$libc_cv_asm_global_directive" >&6; }
-if test $libc_cv_asm_global_directive = UNKNOWN; then
- as_fn_error $? "cannot determine asm global directive" "$LINENO" 5
-else
- cat >>confdefs.h <<_ACEOF
-#define ASM_GLOBAL_DIRECTIVE ${libc_cv_asm_global_directive}
-_ACEOF
-
-fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler .type directive prefix" >&5
$as_echo_n "checking for assembler .type directive prefix... " >&6; }
if ${libc_cv_asm_type_prefix+:} false; then :
@@ -4119,7 +4084,7 @@ else
for ac_try_prefix in '@' '%' '#'; do
cat > conftest.s <<EOF
${libc_cv_dot_text}
- ${libc_cv_asm_global_directive} foo
+ .globl foo
.type foo, ${ac_try_prefix}object
.size foo, 1
foo:
@@ -5730,7 +5695,7 @@ else
${libc_cv_dot_text}
foo:
.set glibc_conftest_frobozz,foo
-$libc_cv_asm_global_directive glibc_conftest_frobozz
+.globl glibc_conftest_frobozz
EOF
# The alpha-dec-osf1 assembler gives only a warning for `.set'
# (but it doesn't work), so we must do a linking check to be sure.
@@ -6738,7 +6703,7 @@ if ${libc_cv_asm_weak_directive+:} false
else
cat > conftest.s <<EOF
${libc_cv_dot_text}
-${libc_cv_asm_global_directive} foo
+.globl foo
foo:
.weak foo
.weak bar; bar = foo
@@ -6766,11 +6731,11 @@ if ${libc_cv_asm_weakext_directive+:} fa
else
cat > conftest.s <<EOF
${libc_cv_dot_text}
-${libc_cv_asm_global_directive} foo
+.globl foo
foo:
.weakext bar foo
.weakext baz
-${libc_cv_asm_global_directive} baz
+.globl baz
baz:
EOF
if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
--- libc/include/libc-symbols.h.mp 2012-06-01 00:50:07.089073515 +0200
+++ libc/include/libc-symbols.h 2012-06-02 22:34:58.561881958 +0200
@@ -27,7 +27,6 @@
It should define for us the following symbols:
* HAVE_ASM_SET_DIRECTIVE if we have `.set B, A' instead of `A = B'.
- * ASM_GLOBAL_DIRECTIVE with `.globl' or `.global'.
* ASM_TYPE_DIRECTIVE_PREFIX with `@' or `#' or whatever for .type,
or leave it undefined if there is no .type directive.
* HAVE_ASM_WEAK_DIRECTIVE if we have weak symbols using `.weak'.
@@ -117,32 +116,32 @@
# ifdef HAVE_ASM_SET_DIRECTIVE
# ifdef HAVE_ASM_GLOBAL_DOT_NAME
# define strong_alias(original, alias) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
+ .globl C_SYMBOL_NAME (alias) ASM_LINE_SEP \
.set C_SYMBOL_NAME (alias),C_SYMBOL_NAME (original) ASM_LINE_SEP \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
+ .globl C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
.set C_SYMBOL_DOT_NAME (alias),C_SYMBOL_DOT_NAME (original)
# define strong_data_alias(original, alias) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
+ .globl C_SYMBOL_NAME (alias) ASM_LINE_SEP \
.set C_SYMBOL_NAME (alias),C_SYMBOL_NAME (original)
# else
# define strong_alias(original, alias) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
+ .globl C_SYMBOL_NAME (alias) ASM_LINE_SEP \
.set C_SYMBOL_NAME (alias),C_SYMBOL_NAME (original)
# define strong_data_alias(original, alias) strong_alias(original, alias)
# endif
# else
# ifdef HAVE_ASM_GLOBAL_DOT_NAME
# define strong_alias(original, alias) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
+ .globl C_SYMBOL_NAME (alias) ASM_LINE_SEP \
C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) ASM_LINE_SEP \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
+ .globl C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
# define strong_data_alias(original, alias) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
+ .globl C_SYMBOL_NAME (alias) ASM_LINE_SEP \
C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
# else
# define strong_alias(original, alias) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
+ .globl C_SYMBOL_NAME (alias) ASM_LINE_SEP \
C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
# define strong_data_alias(original, alias) strong_alias(original, alias)
# endif
@@ -265,7 +264,7 @@ for linking")
# define declare_symbol_alias_1_paste_1(a,b) a##b
# else /* Not __ASSEMBLER__. */
# define declare_symbol_alias_1(symbol, original, type, size) \
- asm (declare_symbol_alias_1_stringify (ASM_GLOBAL_DIRECTIVE) \
+ asm (declare_symbol_alias_1_stringify (.globl) \
" " __SYMBOL_PREFIX #symbol \
"\n\t" declare_symbol_alias_1_alias (symbol, original) \
"\n\t.type " __SYMBOL_PREFIX #symbol ", " \
@@ -785,13 +784,13 @@ for linking")
#ifdef HAVE_ASM_SET_DIRECTIVE
# define libc_ifunc_hidden_def1(local, name) \
- __asm__ (declare_symbol_alias_1_stringify (ASM_GLOBAL_DIRECTIVE) \
+ __asm__ (declare_symbol_alias_1_stringify (.globl) \
" " #local "\n\t" \
".hidden " #local "\n\t" \
".set " #local ", " #name);
#else
# define libc_ifunc_hidden_def1(local, name) \
- __asm__ (declare_symbol_alias_1_stringify (ASM_GLOBAL_DIRECTIVE) \
+ __asm__ (declare_symbol_alias_1_stringify (.globl) \
" " #local "\n\t" \
".hidden " #local "\n\t" \
#local " = " #name);
--- libc/elf/tst-unique2mod2.c.mp 2012-06-02 21:21:58.150865042 +0200
+++ libc/elf/tst-unique2mod2.c 2012-06-02 22:34:58.562881961 +0200
@@ -5,7 +5,7 @@
# define _S(s) #s
asm (".data;"
- S (ASM_GLOBAL_DIRECTIVE) " var\n"
+ S (.globl) " var\n"
".type var, " S (ASM_TYPE_DIRECTIVE_PREFIX) "gnu_unique_object\n"
".size var, 4\n"
"var:.zero 4\n"
--- libc/elf/tst-unique2mod1.c.mp 2012-06-02 21:22:19.964929686 +0200
+++ libc/elf/tst-unique2mod1.c 2012-06-02 22:34:58.563881964 +0200
@@ -5,7 +5,7 @@
# define _S(s) #s
asm (".data;"
- S (ASM_GLOBAL_DIRECTIVE) " var\n"
+ S (.globl) " var\n"
".type var, " S (ASM_TYPE_DIRECTIVE_PREFIX) "gnu_unique_object\n"
".size var, 4\n"
"var:.zero 4\n"
--- libc/elf/tst-unique1mod2.c.mp 2012-06-02 21:22:16.726920089 +0200
+++ libc/elf/tst-unique1mod2.c 2012-06-02 22:34:58.564881967 +0200
@@ -5,7 +5,7 @@
# define _S(s) #s
asm (".data;"
- S (ASM_GLOBAL_DIRECTIVE) " var\n"
+ S (.globl) " var\n"
".type var, " S (ASM_TYPE_DIRECTIVE_PREFIX) "gnu_unique_object\n"
".size var, 4\n"
"var:.zero 4\n"
--- libc/elf/tst-unique1mod1.c.mp 2012-06-02 21:21:18.970748932 +0200
+++ libc/elf/tst-unique1mod1.c 2012-06-02 22:34:58.564881967 +0200
@@ -5,7 +5,7 @@
# define _S(s) #s
asm (".data;"
- S (ASM_GLOBAL_DIRECTIVE) " var\n"
+ S (.globl) " var\n"
".type var, " S (ASM_TYPE_DIRECTIVE_PREFIX) "gnu_unique_object\n"
".size var, 4\n"
"var:.zero 4\n"
--- libc/config.h.in.mp 2012-06-02 22:39:19.127654448 +0200
+++ libc/config.h.in 2012-06-02 22:40:15.009820113 +0200
@@ -37,10 +37,6 @@
/* Define if the assembler supports the `.set' directive. */
#undef HAVE_ASM_SET_DIRECTIVE
-/* Define to the name of the assembler's directive for
- declaring a symbol global (default `.globl'). */
-#undef ASM_GLOBAL_DIRECTIVE
-
/* Define to the prefix before `object' or `function' in the
assembler's `.type' directive, if it has one. */
#undef ASM_TYPE_DIRECTIVE_PREFIX
--- libc/locale/localeinfo.h.mp 2012-06-02 21:19:22.114402629 +0200
+++ libc/locale/localeinfo.h 2012-06-02 22:34:58.565881970 +0200
@@ -255,7 +255,7 @@ extern __thread struct __locale_data *co
#define _NL_CURRENT_DEFINE(category) \
__thread struct __locale_data *const *_nl_current_##category \
attribute_hidden = &_nl_global_locale.__locales[category]; \
- asm (_NL_CURRENT_DEFINE_STRINGIFY (ASM_GLOBAL_DIRECTIVE) \
+ asm (_NL_CURRENT_DEFINE_STRINGIFY (.globl) \
" " __SYMBOL_PREFIX "_nl_current_" #category "_used\n" \
_NL_CURRENT_DEFINE_ABS (_nl_current_##category##_used, 1));
#define _NL_CURRENT_DEFINE_STRINGIFY(x) _NL_CURRENT_DEFINE_STRINGIFY_1 (x)
--- libc/sysdeps/s390/s390-32/sysdep.h.mp 2012-06-02 21:24:00.129226521 +0200
+++ libc/sysdeps/s390/s390-32/sysdep.h 2012-06-02 22:34:58.566881973 +0200
@@ -32,7 +32,7 @@
/* Define an entry point visible from C. */
#define ENTRY(name) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
+ .globl C_SYMBOL_NAME(name); \
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
.align ALIGNARG(2); \
C_LABEL(name) \
--- libc/sysdeps/s390/s390-32/s390-mcount.S.mp 2012-06-02 21:24:16.962276406 +0200
+++ libc/sysdeps/s390/s390-32/s390-mcount.S 2012-06-02 22:34:58.566881973 +0200
@@ -1,5 +1,5 @@
/* S/390-specific implemetation of profiling support.
- Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com)
@@ -47,7 +47,7 @@
* _mcount may not modify any register.
*/
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(_mcount)
+ .globl C_SYMBOL_NAME(_mcount)
ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(_mcount), @function)
cfi_startproc
.align ALIGNARG(4)
--- libc/sysdeps/s390/s390-64/sysdep.h.mp 2012-06-02 21:25:58.604577622 +0200
+++ libc/sysdeps/s390/s390-64/sysdep.h 2012-06-02 22:34:58.567881976 +0200
@@ -32,7 +32,7 @@
/* Define an entry point visible from C. */
#define ENTRY(name) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
+ .globl C_SYMBOL_NAME(name); \
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
.align ALIGNARG(2); \
C_LABEL(name) \
--- libc/sysdeps/s390/s390-64/s390x-mcount.S.mp 2012-06-02 21:24:41.560349304 +0200
+++ libc/sysdeps/s390/s390-64/s390x-mcount.S 2012-06-02 22:34:58.567881976 +0200
@@ -1,5 +1,5 @@
/* 64 bit S/390-specific implemetation of profiling support.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001-2012 Free Software Foundation, Inc.
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com)
This file is part of the GNU C Library.
@@ -43,7 +43,7 @@
parameter. &.LP0 was loaded to %r1 and the return address is in %r14.
_mcount may not modify any register. */
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(_mcount)
+ .globl C_SYMBOL_NAME(_mcount)
ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(_mcount), @function)
cfi_startproc
.align ALIGNARG(4)
--- libc/sysdeps/mach/sysdep.h.mp 2012-06-02 21:29:25.079189507 +0200
+++ libc/sysdeps/mach/sysdep.h 2012-06-02 22:34:58.568881979 +0200
@@ -31,7 +31,7 @@
work right. */
#undef ENTRY
#define ENTRY(name) \
- ASM_GLOBAL_DIRECTIVE name; \
+ .globl name; \
.align ALIGN; \
.type name,@function; \
name:
--- libc/sysdeps/i386/configure.mp 2012-06-02 20:51:48.555359089 +0200
+++ libc/sysdeps/i386/configure 2012-06-02 22:34:58.568881979 +0200
@@ -174,7 +174,7 @@ else
/* comment on
two lines */
${libc_cv_dot_text}
- ${libc_cv_asm_global_directive} foo
+ .globl foo
foo:
/* Unfortunately this test only works for a real instruction,
not for any of the machine-independent pseudo-ops.
--- libc/sysdeps/i386/sysdep.h.mp 2012-06-02 21:29:43.705244705 +0200
+++ libc/sysdeps/i386/sysdep.h 2012-06-02 22:34:58.569881982 +0200
@@ -63,7 +63,7 @@
#define ENTRY(name) \
STABS_CURRENT_FILE1("") \
STABS_CURRENT_FILE(name) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
+ .globl C_SYMBOL_NAME(name); \
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
.align ALIGNARG(4); \
STABS_FUN(name) \
--- libc/sysdeps/i386/i386-mcount.S.mp 2012-06-02 21:30:19.991352239 +0200
+++ libc/sysdeps/i386/i386-mcount.S 2012-06-02 22:34:58.569881982 +0200
@@ -1,5 +1,5 @@
/* i386-specific implemetation of profiling support.
- Copyright (C) 1997, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -26,7 +26,7 @@
- the ELF `fixup' function uses GCC's regparm feature
- some (future) systems might want to pass parameters in registers. */
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(_mcount)
+ .globl C_SYMBOL_NAME(_mcount)
ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(_mcount), @function)
.align ALIGNARG(4)
C_LABEL(_mcount)
@@ -54,7 +54,7 @@ C_LABEL(_mcount)
weak_alias (_mcount, mcount)
/* Same as above, but doesn't require a frame pointer */
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(__fentry__)
+ .globl C_SYMBOL_NAME(__fentry__)
ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(__fentry__), @function)
.align ALIGNARG(4)
C_LABEL(__fentry__)
--- libc/sysdeps/i386/configure.in.mp 2012-06-02 20:45:25.144226353 +0200
+++ libc/sysdeps/i386/configure.in 2012-06-02 22:34:58.569881982 +0200
@@ -13,7 +13,7 @@ cat > conftest.S <<EOF
/* comment on
two lines */
${libc_cv_dot_text}
- ${libc_cv_asm_global_directive} foo
+ .globl foo
foo:
/* Unfortunately this test only works for a real instruction,
not for any of the machine-independent pseudo-ops.
--- libc/sysdeps/x86_64/configure.mp 2012-06-02 20:49:46.264997797 +0200
+++ libc/sysdeps/x86_64/configure 2012-06-02 22:34:58.570881985 +0200
@@ -174,7 +174,7 @@ else
/* comment on
two lines */
${libc_cv_dot_text}
- ${libc_cv_asm_global_directive} foo
+ .globl foo
foo:
/* Unfortunately this test only works for a real instruction,
not for any of the machine-independent pseudo-ops.
--- libc/sysdeps/x86_64/_mcount.S.mp 2012-06-02 22:35:19.282943388 +0200
+++ libc/sysdeps/x86_64/_mcount.S 2012-06-02 22:35:53.143043771 +0200
@@ -1,5 +1,5 @@
/* Machine-specific calling sequence for `mcount' profiling function. x86-64 version.
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002-2012 Free Software Foundation, Inc.
Contributed by Andreas Jaeger <aj@suse.de>.
This file is part of the GNU C Library.
@@ -24,7 +24,7 @@
#include <sysdep.h>
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(_mcount)
+ .globl C_SYMBOL_NAME(_mcount)
ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(_mcount), @function)
.align ALIGNARG(4)
C_LABEL(_mcount)
@@ -65,7 +65,7 @@ C_LABEL(_mcount)
#undef mcount
weak_alias (_mcount, mcount)
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(__fentry__)
+ .globl C_SYMBOL_NAME(__fentry__)
ASM_TYPE_DIRECTIVE(C_SYMBOL_NAME(__fentry__), @function)
.align ALIGNARG(4)
C_LABEL(__fentry__)
--- libc/sysdeps/x86_64/sysdep.h.mp 2012-06-02 21:16:11.902898852 +0200
+++ libc/sysdeps/x86_64/sysdep.h 2012-06-02 22:34:58.571881988 +0200
@@ -34,7 +34,7 @@
/* Define an entry point visible from C. */
#define ENTRY(name) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
+ .globl C_SYMBOL_NAME(name); \
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
.align ALIGNARG(4); \
C_LABEL(name) \
--- libc/sysdeps/x86_64/configure.in.mp 2012-06-02 20:48:49.378829738 +0200
+++ libc/sysdeps/x86_64/configure.in 2012-06-02 22:34:58.571881988 +0200
@@ -13,7 +13,7 @@ cat > conftest.S <<EOF
/* comment on
two lines */
${libc_cv_dot_text}
- ${libc_cv_asm_global_directive} foo
+ .globl foo
foo:
/* Unfortunately this test only works for a real instruction,
not for any of the machine-independent pseudo-ops.
--- libc/sysdeps/sh/_mcount.S.mp 2012-06-02 21:30:49.641440105 +0200
+++ libc/sysdeps/sh/_mcount.S 2012-06-02 22:34:58.572881991 +0200
@@ -19,7 +19,7 @@
#include <sysdep.h>
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(_mcount)
+ .globl C_SYMBOL_NAME(_mcount)
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(_mcount),function)
cfi_startproc
.align 5
--- libc/sysdeps/sh/sysdep.h.mp 2012-06-02 21:31:04.571484351 +0200
+++ libc/sysdeps/sh/sysdep.h 2012-06-02 22:34:58.572881991 +0200
@@ -36,7 +36,7 @@
/* Define an entry point visible from C. */
#define ENTRY(name) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
+ .globl C_SYMBOL_NAME(name); \
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),function) \
.align ALIGNARG(5); \
C_LABEL(name) \
--- libc/sysdeps/powerpc/powerpc32/gprsave1.S.mp 2012-06-02 21:31:34.532573141 +0200
+++ libc/sysdeps/powerpc/powerpc32/gprsave1.S 2012-06-02 22:34:58.573881994 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -23,39 +23,39 @@
#include <sysdep.h>
ENTRY(_savegpr1_all)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_13)
+ .globl C_TEXT(_savegpr1_13)
C_TEXT(_savegpr1_13): stw r13,-76(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_14)
+ .globl C_TEXT(_savegpr1_14)
C_TEXT(_savegpr1_14): stw r14,-72(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_15)
+ .globl C_TEXT(_savegpr1_15)
C_TEXT(_savegpr1_15): stw r15,-68(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_16)
+ .globl C_TEXT(_savegpr1_16)
C_TEXT(_savegpr1_16): stw r16,-64(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_17)
+ .globl C_TEXT(_savegpr1_17)
C_TEXT(_savegpr1_17): stw r17,-60(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_18)
+ .globl C_TEXT(_savegpr1_18)
C_TEXT(_savegpr1_18): stw r18,-56(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_19)
+ .globl C_TEXT(_savegpr1_19)
C_TEXT(_savegpr1_19): stw r19,-52(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_20)
+ .globl C_TEXT(_savegpr1_20)
C_TEXT(_savegpr1_20): stw r20,-48(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_21)
+ .globl C_TEXT(_savegpr1_21)
C_TEXT(_savegpr1_21): stw r21,-44(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_22)
+ .globl C_TEXT(_savegpr1_22)
C_TEXT(_savegpr1_22): stw r22,-40(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_23)
+ .globl C_TEXT(_savegpr1_23)
C_TEXT(_savegpr1_23): stw r23,-36(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_24)
+ .globl C_TEXT(_savegpr1_24)
C_TEXT(_savegpr1_24): stw r24,-32(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_25)
+ .globl C_TEXT(_savegpr1_25)
C_TEXT(_savegpr1_25): stw r25,-28(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_26)
+ .globl C_TEXT(_savegpr1_26)
C_TEXT(_savegpr1_26): stw r26,-24(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_27)
+ .globl C_TEXT(_savegpr1_27)
C_TEXT(_savegpr1_27): stw r27,-20(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_28)
+ .globl C_TEXT(_savegpr1_28)
C_TEXT(_savegpr1_28): stw r28,-16(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr1_29)
+ .globl C_TEXT(_savegpr1_29)
C_TEXT(_savegpr1_29): stw r29,-12(r12) #save r29
stw r30,-8(r12) #save r30
stw r31,-4(r12) #save r31
--- libc/sysdeps/powerpc/powerpc32/fpu/fprrest.S.mp 2012-06-02 21:32:48.080791100 +0200
+++ libc/sysdeps/powerpc/powerpc32/fpu/fprrest.S 2012-06-02 22:34:58.573881994 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -22,68 +22,68 @@
#include <sysdep.h>
ENTRY(_restfpr_all)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf14)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_14)
+ .globl C_TEXT(_restf14)
+ .globl C_TEXT(_restfpr_14)
C_TEXT(_restf14):
C_TEXT(_restfpr_14): lfd fp14,-144(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf15)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_15)
+ .globl C_TEXT(_restf15)
+ .globl C_TEXT(_restfpr_15)
C_TEXT(_restf15):
C_TEXT(_restfpr_15): lfd fp15,-136(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf16)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_16)
+ .globl C_TEXT(_restf16)
+ .globl C_TEXT(_restfpr_16)
C_TEXT(_restf16):
C_TEXT(_restfpr_16): lfd fp16,-128(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf17)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_17)
+ .globl C_TEXT(_restf17)
+ .globl C_TEXT(_restfpr_17)
C_TEXT(_restf17):
C_TEXT(_restfpr_17): lfd fp17,-120(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf18)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_18)
+ .globl C_TEXT(_restf18)
+ .globl C_TEXT(_restfpr_18)
C_TEXT(_restf18):
C_TEXT(_restfpr_18): lfd fp18,-112(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf19)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_19)
+ .globl C_TEXT(_restf19)
+ .globl C_TEXT(_restfpr_19)
C_TEXT(_restf19):
C_TEXT(_restfpr_19): lfd fp19,-104(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf20)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_20)
+ .globl C_TEXT(_restf20)
+ .globl C_TEXT(_restfpr_20)
C_TEXT(_restf20):
C_TEXT(_restfpr_20): lfd fp20,-96(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf21)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_21)
+ .globl C_TEXT(_restf21)
+ .globl C_TEXT(_restfpr_21)
C_TEXT(_restf21):
C_TEXT(_restfpr_21): lfd fp21,-88(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf22)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_22)
+ .globl C_TEXT(_restf22)
+ .globl C_TEXT(_restfpr_22)
C_TEXT(_restf22):
C_TEXT(_restfpr_22): lfd fp22,-80(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf23)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_23)
+ .globl C_TEXT(_restf23)
+ .globl C_TEXT(_restfpr_23)
C_TEXT(_restf23):
C_TEXT(_restfpr_23): lfd fp23,-72(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf24)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_24)
+ .globl C_TEXT(_restf24)
+ .globl C_TEXT(_restfpr_24)
C_TEXT(_restf24):
C_TEXT(_restfpr_24): lfd fp24,-64(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf25)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_25)
+ .globl C_TEXT(_restf25)
+ .globl C_TEXT(_restfpr_25)
C_TEXT(_restf25):
C_TEXT(_restfpr_25): lfd fp25,-56(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf26)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_26)
+ .globl C_TEXT(_restf26)
+ .globl C_TEXT(_restfpr_26)
C_TEXT(_restf26):
C_TEXT(_restfpr_26): lfd fp26,-48(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf27)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_27)
+ .globl C_TEXT(_restf27)
+ .globl C_TEXT(_restfpr_27)
C_TEXT(_restf27):
C_TEXT(_restfpr_27): lfd fp27,-40(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf28)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_28)
+ .globl C_TEXT(_restf28)
+ .globl C_TEXT(_restfpr_28)
C_TEXT(_restf28):
C_TEXT(_restfpr_28): lfd fp28,-32(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf29)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_29)
+ .globl C_TEXT(_restf29)
+ .globl C_TEXT(_restfpr_29)
C_TEXT(_restf29):
C_TEXT(_restfpr_29): lwz r0,8(r1) #get return address from frame
lfd fp29,-24(r1) #restore f29
--- libc/sysdeps/powerpc/powerpc32/fpu/fprsave.S.mp 2012-06-02 21:33:15.861873426 +0200
+++ libc/sysdeps/powerpc/powerpc32/fpu/fprsave.S 2012-06-02 22:34:58.574881997 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -22,83 +22,83 @@
#include <sysdep.h>
ENTRY(_savefpr_all)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef14)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_14)
+ .globl C_TEXT(_savef14)
+ .globl C_TEXT(_savefpr_14)
C_TEXT(_savef14):
C_TEXT(_savefpr_14): stfd fp14,-144(r1)
cfi_offset(fp14,-144)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef15)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_15)
+ .globl C_TEXT(_savef15)
+ .globl C_TEXT(_savefpr_15)
C_TEXT(_savef15):
C_TEXT(_savefpr_15): stfd fp15,-136(r1)
cfi_offset(fp15,-136)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef16)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_16)
+ .globl C_TEXT(_savef16)
+ .globl C_TEXT(_savefpr_16)
C_TEXT(_savef16):
C_TEXT(_savefpr_16): stfd fp16,-128(r1)
cfi_offset(fp16,-128)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef17)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_17)
+ .globl C_TEXT(_savef17)
+ .globl C_TEXT(_savefpr_17)
C_TEXT(_savef17):
C_TEXT(_savefpr_17): stfd fp17,-120(r1)
cfi_offset(fp17,-120)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef18)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_18)
+ .globl C_TEXT(_savef18)
+ .globl C_TEXT(_savefpr_18)
C_TEXT(_savef18):
C_TEXT(_savefpr_18): stfd fp18,-112(r1)
cfi_offset(fp18,-112)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef19)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_19)
+ .globl C_TEXT(_savef19)
+ .globl C_TEXT(_savefpr_19)
C_TEXT(_savef19):
C_TEXT(_savefpr_19): stfd fp19,-104(r1)
cfi_offset(fp19,-104)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef20)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_20)
+ .globl C_TEXT(_savef20)
+ .globl C_TEXT(_savefpr_20)
C_TEXT(_savef20):
C_TEXT(_savefpr_20): stfd fp20,-96(r1)
cfi_offset(fp20,-96)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef21)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_21)
+ .globl C_TEXT(_savef21)
+ .globl C_TEXT(_savefpr_21)
C_TEXT(_savef21):
C_TEXT(_savefpr_21): stfd fp21,-88(r1)
cfi_offset(fp21,-88)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef22)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_22)
+ .globl C_TEXT(_savef22)
+ .globl C_TEXT(_savefpr_22)
C_TEXT(_savef22):
C_TEXT(_savefpr_22): stfd fp22,-80(r1)
cfi_offset(fp22,-80)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef23)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_23)
+ .globl C_TEXT(_savef23)
+ .globl C_TEXT(_savefpr_23)
C_TEXT(_savef23):
C_TEXT(_savefpr_23): stfd fp23,-72(r1)
cfi_offset(fp23,-72)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef24)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_24)
+ .globl C_TEXT(_savef24)
+ .globl C_TEXT(_savefpr_24)
C_TEXT(_savef24):
C_TEXT(_savefpr_24): stfd fp24,-64(r1)
cfi_offset(fp24,-64)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef25)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_25)
+ .globl C_TEXT(_savef25)
+ .globl C_TEXT(_savefpr_25)
C_TEXT(_savef25):
C_TEXT(_savefpr_25): stfd fp25,-56(r1)
cfi_offset(fp25,-56)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef26)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_26)
+ .globl C_TEXT(_savef26)
+ .globl C_TEXT(_savefpr_26)
C_TEXT(_savef26):
C_TEXT(_savefpr_26): stfd fp26,-48(r1)
cfi_offset(fp26,-48)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef27)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_27)
+ .globl C_TEXT(_savef27)
+ .globl C_TEXT(_savefpr_27)
C_TEXT(_savef27):
C_TEXT(_savefpr_27): stfd fp27,-40(r1)
cfi_offset(fp27,-40)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef28)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_28)
+ .globl C_TEXT(_savef28)
+ .globl C_TEXT(_savefpr_28)
C_TEXT(_savef28):
C_TEXT(_savefpr_28): stfd fp28,-32(r1)
cfi_offset(fp28,-32)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef29)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_29)
+ .globl C_TEXT(_savef29)
+ .globl C_TEXT(_savefpr_29)
C_TEXT(_savef29):
C_TEXT(_savefpr_29): stfd fp29,-24(r1) #save f29
stfd fp30,-16(r1) #save f30
--- libc/sysdeps/powerpc/powerpc32/sysdep.h.mp 2012-06-02 21:33:35.796932506 +0200
+++ libc/sysdeps/powerpc/powerpc32/sysdep.h 2012-06-02 22:34:58.574881997 +0200
@@ -37,7 +37,7 @@
#endif /* PROF */
#define ENTRY(name) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
+ .globl C_SYMBOL_NAME(name); \
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
.align ALIGNARG(2); \
C_LABEL(name) \
@@ -64,7 +64,7 @@ GOT_LABEL: ; \
past a 2^align boundary. */
#ifdef PROF
# define EALIGN(name, alignt, words) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
+ .globl C_SYMBOL_NAME(name); \
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
.align ALIGNARG(2); \
C_LABEL(name) \
@@ -76,7 +76,7 @@ GOT_LABEL: ; \
0:
#else /* PROF */
# define EALIGN(name, alignt, words) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
+ .globl C_SYMBOL_NAME(name); \
ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
.align ALIGNARG(alignt); \
EALIGN_W_##words; \
--- libc/sysdeps/powerpc/powerpc32/gprrest1.S.mp 2012-06-02 21:34:13.446044076 +0200
+++ libc/sysdeps/powerpc/powerpc32/gprrest1.S 2012-06-02 22:34:58.575882000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -23,39 +23,39 @@
#include <sysdep.h>
ENTRY(_restgpr1_all)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_13)
+ .globl C_TEXT(_restgpr1_13)
C_TEXT(_restgpr1_13): lwz r13,-76(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_14)
+ .globl C_TEXT(_restgpr1_14)
C_TEXT(_restgpr1_14): lwz r14,-72(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_15)
+ .globl C_TEXT(_restgpr1_15)
C_TEXT(_restgpr1_15): lwz r15,-68(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_16)
+ .globl C_TEXT(_restgpr1_16)
C_TEXT(_restgpr1_16): lwz r16,-64(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_17)
+ .globl C_TEXT(_restgpr1_17)
C_TEXT(_restgpr1_17): lwz r17,-60(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_18)
+ .globl C_TEXT(_restgpr1_18)
C_TEXT(_restgpr1_18): lwz r18,-56(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_19)
+ .globl C_TEXT(_restgpr1_19)
C_TEXT(_restgpr1_19): lwz r19,-52(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_20)
+ .globl C_TEXT(_restgpr1_20)
C_TEXT(_restgpr1_20): lwz r20,-48(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_21)
+ .globl C_TEXT(_restgpr1_21)
C_TEXT(_restgpr1_21): lwz r21,-44(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_22)
+ .globl C_TEXT(_restgpr1_22)
C_TEXT(_restgpr1_22): lwz r22,-40(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_23)
+ .globl C_TEXT(_restgpr1_23)
C_TEXT(_restgpr1_23): lwz r23,-36(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_24)
+ .globl C_TEXT(_restgpr1_24)
C_TEXT(_restgpr1_24): lwz r24,-32(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_25)
+ .globl C_TEXT(_restgpr1_25)
C_TEXT(_restgpr1_25): lwz r25,-28(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_26)
+ .globl C_TEXT(_restgpr1_26)
C_TEXT(_restgpr1_26): lwz r26,-24(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_27)
+ .globl C_TEXT(_restgpr1_27)
C_TEXT(_restgpr1_27): lwz r27,-20(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_28)
+ .globl C_TEXT(_restgpr1_28)
C_TEXT(_restgpr1_28): lwz r28,-16(r12)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr1_29)
+ .globl C_TEXT(_restgpr1_29)
C_TEXT(_restgpr1_29): lwz r29,-12(r12) #restore r29
lwz r30,-8(r12) #restore r30
lwz r31,-4(r12) #restore r31
--- libc/sysdeps/powerpc/powerpc32/gprsave0.S.mp 2012-06-02 21:34:30.944095931 +0200
+++ libc/sysdeps/powerpc/powerpc32/gprsave0.S 2012-06-02 22:34:58.575882000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -27,55 +27,55 @@
#include <sysdep.h>
ENTRY(_savegpr0_all)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_13)
+ .globl C_TEXT(_savegpr0_13)
C_TEXT(_savegpr0_13): stw r13,-76(r1)
cfi_offset(r13,-76)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_14)
+ .globl C_TEXT(_savegpr0_14)
C_TEXT(_savegpr0_14): stw r14,-72(r1)
cfi_offset(r14,-72)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_15)
+ .globl C_TEXT(_savegpr0_15)
C_TEXT(_savegpr0_15): stw r15,-68(r1)
cfi_offset(r15,-68)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_16)
+ .globl C_TEXT(_savegpr0_16)
C_TEXT(_savegpr0_16): stw r16,-64(r1)
cfi_offset(r16,-64)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_17)
+ .globl C_TEXT(_savegpr0_17)
C_TEXT(_savegpr0_17): stw r17,-60(r1)
cfi_offset(r17,-60)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_18)
+ .globl C_TEXT(_savegpr0_18)
C_TEXT(_savegpr0_18): stw r18,-56(r1)
cfi_offset(r18,-56)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_19)
+ .globl C_TEXT(_savegpr0_19)
C_TEXT(_savegpr0_19): stw r19,-52(r1)
cfi_offset(r19,-52)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_20)
+ .globl C_TEXT(_savegpr0_20)
C_TEXT(_savegpr0_20): stw r20,-48(r1)
cfi_offset(r20,-48)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_21)
+ .globl C_TEXT(_savegpr0_21)
C_TEXT(_savegpr0_21): stw r21,-44(r1)
cfi_offset(r21,-44)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_22)
+ .globl C_TEXT(_savegpr0_22)
C_TEXT(_savegpr0_22): stw r22,-40(r1)
cfi_offset(r22,-40)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_23)
+ .globl C_TEXT(_savegpr0_23)
C_TEXT(_savegpr0_23): stw r23,-36(r1)
cfi_offset(r23,-36)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_24)
+ .globl C_TEXT(_savegpr0_24)
C_TEXT(_savegpr0_24): stw r24,-32(r1)
cfi_offset(r24,-32)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_25)
+ .globl C_TEXT(_savegpr0_25)
C_TEXT(_savegpr0_25): stw r25,-28(r1)
cfi_offset(r25,-28)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_26)
+ .globl C_TEXT(_savegpr0_26)
C_TEXT(_savegpr0_26): stw r26,-24(r1)
cfi_offset(r26,-24)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_27)
+ .globl C_TEXT(_savegpr0_27)
C_TEXT(_savegpr0_27): stw r27,-20(r1)
cfi_offset(r27,-20)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_28)
+ .globl C_TEXT(_savegpr0_28)
C_TEXT(_savegpr0_28): stw r28,-16(r1)
cfi_offset(r28,-16)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savegpr0_29)
+ .globl C_TEXT(_savegpr0_29)
C_TEXT(_savegpr0_29): stw r29,-12(r1) #save r29
stw r30,-8(r1) #save r30
stw r31,-4(r1) #save r31
--- libc/sysdeps/powerpc/powerpc32/gprrest0.S.mp 2012-06-02 21:33:49.710973737 +0200
+++ libc/sysdeps/powerpc/powerpc32/gprrest0.S 2012-06-02 22:34:58.576882003 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -27,39 +27,39 @@
#include <sysdep.h>
ENTRY(_restgpr0_all)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_13)
+ .globl C_TEXT(_restgpr0_13)
C_TEXT(_restgpr0_13): lwz r13,-76(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_14)
+ .globl C_TEXT(_restgpr0_14)
C_TEXT(_restgpr0_14): lwz r14,-72(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_15)
+ .globl C_TEXT(_restgpr0_15)
C_TEXT(_restgpr0_15): lwz r15,-68(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_16)
+ .globl C_TEXT(_restgpr0_16)
C_TEXT(_restgpr0_16): lwz r16,-64(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_17)
+ .globl C_TEXT(_restgpr0_17)
C_TEXT(_restgpr0_17): lwz r17,-60(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_18)
+ .globl C_TEXT(_restgpr0_18)
C_TEXT(_restgpr0_18): lwz r18,-56(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_19)
+ .globl C_TEXT(_restgpr0_19)
C_TEXT(_restgpr0_19): lwz r19,-52(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_20)
+ .globl C_TEXT(_restgpr0_20)
C_TEXT(_restgpr0_20): lwz r20,-48(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_21)
+ .globl C_TEXT(_restgpr0_21)
C_TEXT(_restgpr0_21): lwz r21,-44(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_22)
+ .globl C_TEXT(_restgpr0_22)
C_TEXT(_restgpr0_22): lwz r22,-40(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_23)
+ .globl C_TEXT(_restgpr0_23)
C_TEXT(_restgpr0_23): lwz r23,-36(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_24)
+ .globl C_TEXT(_restgpr0_24)
C_TEXT(_restgpr0_24): lwz r24,-32(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_25)
+ .globl C_TEXT(_restgpr0_25)
C_TEXT(_restgpr0_25): lwz r25,-28(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_26)
+ .globl C_TEXT(_restgpr0_26)
C_TEXT(_restgpr0_26): lwz r26,-24(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_27)
+ .globl C_TEXT(_restgpr0_27)
C_TEXT(_restgpr0_27): lwz r27,-20(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_28)
+ .globl C_TEXT(_restgpr0_28)
C_TEXT(_restgpr0_28): lwz r28,-16(r1)
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restgpr0_29)
+ .globl C_TEXT(_restgpr0_29)
C_TEXT(_restgpr0_29): lwz r0,8(r1) #get return address from frame
lwz r29,-12(r1) #restore r29
mtlr r0 #move return address to LR
--- libc/configure.in.mp 2012-06-02 20:23:12.816351127 +0200
+++ libc/configure.in 2012-06-02 22:34:58.577882006 +0200
@@ -581,34 +581,13 @@ else
AC_MSG_RESULT(yes)
fi
-AC_CACHE_CHECK(for assembler global-symbol directive,
- libc_cv_asm_global_directive, [dnl
-libc_cv_asm_global_directive=UNKNOWN
-for ac_globl in .globl .global .EXPORT; do
- cat > conftest.s <<EOF
- ${libc_cv_dot_text}
- ${ac_globl} foo
-foo:
-EOF
- if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
- libc_cv_asm_global_directive=${ac_globl}
- fi
- rm -f conftest*
- test $libc_cv_asm_global_directive != UNKNOWN && break
-done])
-if test $libc_cv_asm_global_directive = UNKNOWN; then
- AC_MSG_ERROR(cannot determine asm global directive)
-else
- AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
-fi
-
AC_CACHE_CHECK(for assembler .type directive prefix,
libc_cv_asm_type_prefix, [dnl
libc_cv_asm_type_prefix=no
for ac_try_prefix in '@' '%' '#'; do
cat > conftest.s <<EOF
${libc_cv_dot_text}
- ${libc_cv_asm_global_directive} foo
+ .globl foo
.type foo, ${ac_try_prefix}object
.size foo, 1
foo:
@@ -1121,7 +1100,7 @@ cat > conftest.s <<EOF
${libc_cv_dot_text}
foo:
.set glibc_conftest_frobozz,foo
-$libc_cv_asm_global_directive glibc_conftest_frobozz
+.globl glibc_conftest_frobozz
EOF
# The alpha-dec-osf1 assembler gives only a warning for `.set'
# (but it doesn't work), so we must do a linking check to be sure.
@@ -1778,7 +1757,7 @@ AC_CACHE_CHECK(for assembler .weak direc
[dnl
cat > conftest.s <<EOF
${libc_cv_dot_text}
-${libc_cv_asm_global_directive} foo
+.globl foo
foo:
.weak foo
.weak bar; bar = foo
@@ -1796,11 +1775,11 @@ if test $libc_cv_asm_weak_directive = no
[dnl
cat > conftest.s <<EOF
${libc_cv_dot_text}
-${libc_cv_asm_global_directive} foo
+.globl foo
foo:
.weakext bar foo
.weakext baz
-${libc_cv_asm_global_directive} baz
+.globl baz
baz:
EOF
if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
Marek