1// weak_alias_test_1.cc -- test weak aliases for gold 2 3// Copyright 2008 Free Software Foundation, Inc. 4// Written by Ian Lance Taylor <iant@google.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// Define a weak symbol. 24 25extern int weak_symbol __attribute__ ((weak)); 26int weak_symbol = 1; 27 28// Define a strong symbol with a weak alias. 29 30int strong_aliased = 2; 31extern int weak_aliased __attribute__ ((weak, alias ("strong_aliased"))); 32 33// And another one. 34 35int strong_aliased_2 = 5; 36extern int weak_aliased_2 __attribute__ ((weak, alias ("strong_aliased_2"))); 37 38// And a third. 39 40int strong_aliased_3 = 7; 41extern int weak_aliased_3 __attribute__ ((weak, alias ("strong_aliased_3"))); 42 43// And a fourth. 44 45int strong_aliased_4 = 8; 46extern int weak_aliased_4 __attribute__ ((weak, alias ("strong_aliased_4"))); 47 48// We want a symbol whose name is the same length as "strong_symbol", 49// so that weak_symbol here lines up with weak_symbol in 50// weak_alias_test_2.so. 51 52int Strong_Symbol = 101; 53