This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/29943] New: gcc generate incorrect alias symbols for PPC
- From: "raj dot khem at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Nov 2006 16:40:10 -0000
- Subject: [Bug target/29943] New: gcc generate incorrect alias symbols for PPC
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The following example(reduced from glibc) compiles differently for ppc target
when using gcc 4.2 as compared to gcc 4.1
It generates the alias symbol as a real symbol instead of creating it as alias.
I get this correct using gcc 4.2 for arm so the problem seems to be affecting
only ppc. This also works ok with gcc 4.1
to reproduce compile the example with -O2
testcase.c
========================================================
extern char **_dl_argv
__attribute__ ((section (".data.rel.ro")))
;
extern char **_dl_argv_internal __attribute__ ((visibility ("hidden")))
__attribute__ ((section (".data.rel.ro")))
;
char **_dl_argv __attribute__ ((section (".data.rel.ro"))) = ((void *)0);
extern __typeof (_dl_argv) _dl_argv_internal __attribute__ ((alias
("_dl_argv")));
char* foo (){
return _dl_argv_internal[0];
}
=====================================
glibc segfaults in ld.so currently when compiled with gcc 4.2 for ppc due to
this issue.
--
Summary: gcc generate incorrect alias symbols for PPC
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: raj dot khem at gmail dot com
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: powerpc-*-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29943