1da0c48c4Sopenharmony_ci#! /bin/sh 2da0c48c4Sopenharmony_ci# Copyright (C) 2012 Red Hat, Inc. 3da0c48c4Sopenharmony_ci# This file is part of elfutils. 4da0c48c4Sopenharmony_ci# 5da0c48c4Sopenharmony_ci# This file is free software; you can redistribute it and/or modify 6da0c48c4Sopenharmony_ci# it under the terms of the GNU General Public License as published by 7da0c48c4Sopenharmony_ci# the Free Software Foundation; either version 3 of the License, or 8da0c48c4Sopenharmony_ci# (at your option) any later version. 9da0c48c4Sopenharmony_ci# 10da0c48c4Sopenharmony_ci# elfutils is distributed in the hope that it will be useful, but 11da0c48c4Sopenharmony_ci# WITHOUT ANY WARRANTY; without even the implied warranty of 12da0c48c4Sopenharmony_ci# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13da0c48c4Sopenharmony_ci# GNU General Public License for more details. 14da0c48c4Sopenharmony_ci# 15da0c48c4Sopenharmony_ci# You should have received a copy of the GNU General Public License 16da0c48c4Sopenharmony_ci# along with this program. If not, see <http://www.gnu.org/licenses/>. 17da0c48c4Sopenharmony_ci 18da0c48c4Sopenharmony_ci. $srcdir/test-subr.sh 19da0c48c4Sopenharmony_ci 20da0c48c4Sopenharmony_ci# #include <stdio.h> 21da0c48c4Sopenharmony_ci# 22da0c48c4Sopenharmony_ci# __thread int i; 23da0c48c4Sopenharmony_ci# 24da0c48c4Sopenharmony_ci# void print_i () 25da0c48c4Sopenharmony_ci# { 26da0c48c4Sopenharmony_ci# printf("%d\n", i); 27da0c48c4Sopenharmony_ci# } 28da0c48c4Sopenharmony_ci# 29da0c48c4Sopenharmony_ci# gcc -fPIC -shared -o testlib_dynseg.so testlib_dynseg.c 30da0c48c4Sopenharmony_ci# With ld --version 31da0c48c4Sopenharmony_ci# GNU gold (GNU Binutils 2.22.52.20120402) 1.11 32da0c48c4Sopenharmony_ci 33da0c48c4Sopenharmony_citestfiles testlib_dynseg.so 34da0c48c4Sopenharmony_ci 35da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf -d testlib_dynseg.so <<\EOF 36da0c48c4Sopenharmony_ci 37da0c48c4Sopenharmony_ciDynamic segment contains 23 entries: 38da0c48c4Sopenharmony_ci Addr: 0x00000000000017e0 Offset: 0x0007e0 Link to section: [ 3] '.dynstr' 39da0c48c4Sopenharmony_ci Type Value 40da0c48c4Sopenharmony_ci PLTGOT 0x00000000000019c8 41da0c48c4Sopenharmony_ci PLTRELSZ 72 (bytes) 42da0c48c4Sopenharmony_ci JMPREL 0x0000000000000568 43da0c48c4Sopenharmony_ci PLTREL RELA 44da0c48c4Sopenharmony_ci RELA 0x00000000000004d8 45da0c48c4Sopenharmony_ci RELASZ 144 (bytes) 46da0c48c4Sopenharmony_ci RELAENT 24 (bytes) 47da0c48c4Sopenharmony_ci RELACOUNT 1 48da0c48c4Sopenharmony_ci SYMTAB 0x0000000000000228 49da0c48c4Sopenharmony_ci SYMENT 24 (bytes) 50da0c48c4Sopenharmony_ci STRTAB 0x0000000000000360 51da0c48c4Sopenharmony_ci STRSZ 190 (bytes) 52da0c48c4Sopenharmony_ci GNU_HASH 0x0000000000000420 53da0c48c4Sopenharmony_ci NEEDED Shared library: [libc.so.6] 54da0c48c4Sopenharmony_ci NEEDED Shared library: [ld-linux-x86-64.so.2] 55da0c48c4Sopenharmony_ci INIT 0x00000000000005b0 56da0c48c4Sopenharmony_ci FINI 0x0000000000000748 57da0c48c4Sopenharmony_ci VERSYM 0x0000000000000460 58da0c48c4Sopenharmony_ci VERDEF 0x000000000000047c 59da0c48c4Sopenharmony_ci VERDEFNUM 1 60da0c48c4Sopenharmony_ci VERNEED 0x0000000000000498 61da0c48c4Sopenharmony_ci VERNEEDNUM 2 62da0c48c4Sopenharmony_ci NULL 63da0c48c4Sopenharmony_ciEOF 64da0c48c4Sopenharmony_ci 65da0c48c4Sopenharmony_ciexit 0 66