[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/2362] New: SH: Hidden symbol in DSO does not be forced local
From: |
sugioka at itonet dot co dot jp |
Subject: |
[Bug ld/2362] New: SH: Hidden symbol in DSO does not be forced local |
Date: |
20 Feb 2006 01:08:46 -0000 |
On sh4-unknown-linux target, hidden symbol in DSO does not be kept local
if the symbol appeared at global section in the version script.
The hidden function is accessed directly at compile time, but global function
in DSO should be accessed through PLT, as the result, segmentation fault occurs
on execution time.
Here is a simple test case.
---- foo.c ----
extern void bar(void);
main()
{
bar();
return 0;
}
---- bar.c ----
extern void func(void) __attribute((visibility("hidden")));
void bar(void)
{
func();
}
---- bar-2.c ----
void func(void) __attribute((visibility("hidden")));
void func(void)
{
}
---- bar.ver ----
{global:
bar;
func;
local:*;};
---- build and exec ----
gcc -g -c foo.c
gcc -g -fPIC -c bar.c
gcc -g -fPIC -c bar-2.c
gcc -o bar.so -shared bar.o bar-2.o -Wl,--version-script -Wl,bar.ver
gcc -o foo foo.o bar.so
LD_LIBRARY_PATH=. ./foo
---- environment ----
linux-2.6.15.3 on sh4
gcc-3.4.5
binutils-2.16.91.0.5
glibc-2.3.4
---- binutils configuration ----
../configure sh4-unknown-linux --prefix=/usr --exec-prefix=/usr
--bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share
--includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec
--localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --disable-werror
--
Summary: SH: Hidden symbol in DSO does not be forced local
Product: binutils
Version: 2.16
Status: NEW
Severity: normal
Priority: P2
Component: ld
AssignedTo: unassigned at sources dot redhat dot com
ReportedBy: sugioka at itonet dot co dot jp
CC: bug-binutils at gnu dot org
GCC build triplet: sh4-unknown-linux
GCC host triplet: sh4-unknown-linux
GCC target triplet: sh4-unknown-linux
http://sourceware.org/bugzilla/show_bug.cgi?id=2362
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug ld/2362] New: SH: Hidden symbol in DSO does not be forced local,
sugioka at itonet dot co dot jp <=