add some .globl or used attribute to avoid link failures with gold linker + LTO

When doing experiment with gcc 4.7.0 and link time optimisation,
encountered link failures on amd64 which were solved by adding 
.globl and used attribute.
=> added .globl in similar places for arm/x86/ppc32/s390.
Did not touch darwin (which asm seems somewhat different).




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12506 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/m_main.c b/coregrind/m_main.c
index 094e884..44f3ecb 100644
--- a/coregrind/m_main.c
+++ b/coregrind/m_main.c
@@ -2769,8 +2769,12 @@
 /* --- !!! --- EXTERNAL HEADERS end --- !!! --- */
 
 /* Avoid compiler warnings: this fn _is_ used, but labelling it
-   'static' causes gcc to complain it isn't. */
+   'static' causes gcc to complain it isn't.
+   attribute 'used' also ensures the code is not eliminated at link
+   time */
+__attribute__ ((used))
 void _start_in_C_linux ( UWord* pArgc );
+__attribute__ ((used))
 void _start_in_C_linux ( UWord* pArgc )
 {
    Int     r;