1 /* discard_locals_relocatable_test.c -- test --discard-locals/--discard-all -r
2
3 Copyright (C) 2010-2016 Free Software Foundation, Inc.
4 Viktor Kutuzov <vkutuzov@accesssoftek.com>.
5
6 This file is part of gold.
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or
11 (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
21 MA 02110-1301, USA.
22
23 This is a test of a common symbol in the main program and a
24 versioned symbol in a shared library. The common symbol in the
25 main program should override the shared library symbol. */
26
27 /* Note: use GCC -fPIC option to compile this test. */
28
29 /* Local symbol format for generic ELF target.
30 Use GCC -Wa,-L option to preserve this local symbol
31 in the output object file. */
32 asm (".Lshould_be_discarded:");
33
34 #ifdef __powerpc__
35 /* Test wants to keep one local. Satisfy it. */
36 #ifdef __powerpc64__
37 asm (".reloc 0,R_PPC64_NONE,.LC0");
38 #else
39 asm (".reloc 0,R_PPC_NONE,.LC0");
40 #endif
41 #endif
42
43 extern void print_func (const char* s);
44
45 extern int func (void);
46
47 int
func(void)48 func (void)
49 {
50 print_func ("local string");
51 return 0;
52 }
53