Home | History | Annotate | Download | only in testsuite
      1 // two_file_test_1b_v1.cc -- supplementary file for a three-file test case
      2 // for gold.
      3 
      4 // Copyright (C) 2008-2016 Free Software Foundation, Inc.
      5 // Written by Cary Coutant <ccoutant (at) google.com>.
      6 
      7 // This file is part of gold.
      8 
      9 // This program is free software; you can redistribute it and/or modify
     10 // it under the terms of the GNU General Public License as published by
     11 // the Free Software Foundation; either version 3 of the License, or
     12 // (at your option) any later version.
     13 
     14 // This program is distributed in the hope that it will be useful,
     15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
     16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17 // GNU General Public License for more details.
     18 
     19 // You should have received a copy of the GNU General Public License
     20 // along with this program; if not, write to the Free Software
     21 // Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
     22 // MA 02110-1301, USA.
     23 
     24 // This is an alternate version of the source file two_file_test_1b.cc,
     25 // used to test incremental linking.  We build a binary first using this
     26 // source file, then do an incremental link with the primary version of
     27 // the file.
     28 
     29 // This file is used as part of a mixed PIC/non-PIC test.
     30 // Files 1 and 1b are linked together in a shared library.
     31 // File 1 is compiled non-PIC, and file 1a is compiled PIC.
     32 // File 2 is compiled PIC and linked in a second shared library.
     33 // This tests that a non-PIC call does not accidentally get
     34 // bound to a PIC PLT entry.
     35 
     36 // We test the following cases.
     37 
     38 #include "two_file_test.h"
     39 
     40 // 16 Call a function directly after its address has been taken.
     41 
     42 bool
     43 t16a()
     44 {
     45   return f10() == 125;
     46 }
     47