1 // ver_matching_def.cc - test matching rules in version_script.map 2 3 // Copyright (C) 2007-2014 Free Software Foundation, Inc. 4 // Written by Cary Coutant <ccoutant (at) 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 extern "C" { 24 void foo() {} // V1 25 void foo1() {} // local 26 }; 27 28 void bar() {} // V1 29 void bar1() {} // global 30 31 void baz(int*) {} // V1 32 void baz(int*, char) {} // global 33 void baz(char*, int) {} // global 34 35 extern "C" { 36 void bar2() {} // V1 37 }; 38 39 namespace myns { 40 void blah() {} // V1 41 void bip() {} // V1 42 43 class Stuff { 44 public: 45 Stuff() {} // V1 46 }; 47 } 48 49 class Biz { 50 public: 51 Biz() {} // global 52 }; 53 54 namespace otherns { 55 Biz biz; // global 56 myns::Stuff stuff; // V2 57 }; 58 59 extern "C" { 60 void blaza() {} // V1 61 void blaza1() {} // V1 62 63 void original_blaza2() {} // V2 64 __asm__(".symver original_blaza2,blaza2@@V2"); // overrides script 65 66 void bla() {} // global 67 void blaz() {} // V2 68 void blazb() {} // V2 69 70 int globaoeufxstuff = 0; // V1 71 int globaoeufostuff = 0; // global 72 float sizeof_headers = 50.0; // V1 73 }; 74