Merge from branches/ARM, all parts of the ARM-Linux port except for
the changes to do with reading and using ELF and DWARF3 info.
This breaks all targets except amd64-linux and x86-linux.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10982 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/m_cpuid.S b/coregrind/m_cpuid.S
index d7dcff3..d9728e2 100644
--- a/coregrind/m_cpuid.S
+++ b/coregrind/m_cpuid.S
@@ -33,8 +33,9 @@
 /*
     Bool VG_(has_cpuid)(void)
  */
-.globl VG_(has_cpuid)
 #if defined(VGA_x86)
+.text
+.globl VG_(has_cpuid)
     VG_(has_cpuid):
         pushl   %ebp
         movl    %esp, %ebp
@@ -57,6 +58,8 @@
         popl    %ebp
         ret
 #elif defined(VGA_amd64)
+.text
+.globl VG_(has_cpuid)
     VG_(has_cpuid):
         movq    $1, %rax
         ret
@@ -66,8 +69,9 @@
     void VG_(cpuid)(UInt eax,
                     UInt* eax_ret, UInt* ebx_ret, UInt* ecx_ret, UInt* edx_ret)
  */
-.globl VG_(cpuid)
 #if defined(VGA_x86)
+.text
+.globl VG_(cpuid)
     VG_(cpuid):
         pushl   %ebp
         movl    %esp, %ebp
@@ -107,6 +111,8 @@
         popl    %ebp
         ret
 #elif defined(VGA_amd64)
+.text
+.globl VG_(cpuid)
     VG_(cpuid):
         pushq   %rbp
         movq    %rsp, %rbp
@@ -143,7 +149,7 @@
         ret
 #endif
 
-#if defined(VGO_linux)
+#if defined(VGA_x86) || defined(VGA_amd64)
 /* Let the linker know we don't need an executable stack */
 .section .note.GNU-stack,"",@progbits
 #endif