This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
unwind-dw2-fde.c change breaks AIX
- To: Richard Henderson <rth at redhat dot com>, Geoff Keating <geoffk at redhat dot com>
- Subject: unwind-dw2-fde.c change breaks AIX
- From: David Edelsohn <dje at watson dot ibm dot com>
- Date: Fri, 25 May 2001 15:06:28 -0400
- cc: gcc at gcc dot gnu dot org
2001-05-22 Richard Henderson <rth@redhat.com>
* unwind-dw2-fde.c (__deregister_frame_info): Stringize use
of __USER_LABEL_PREFIX__.
is breaking GCC on AIX. The problem is __USER_LABEL_PREFIX__. What is
that macro suppose to do? In config/rs6000/aix.h it is defined a "." . I
could understand a prefix for a "label" but not for a function name.
The alias is performing the substitution, but the result is not
valid on AIX.
void *
__deregister_frame_info (void *)
__attribute__((alias(STR(__USER_LABEL_PREFIX__)
"__deregister_frame_info_bases")));
is producing
.set .__deregister_frame_info,..__deregister_frame_info_bases
.set __deregister_frame_info,.__deregister_frame_info_bases
but ..__deregister_frame_info_bases does not exist: there are one too many
dots in the prefix -- exactly the value of __USER_LABEL_PREFIX__.
.set .__deregister_frame_info,.__deregister_frame_info_bases
.set __deregister_frame_info,__deregister_frame_info_bases
__USER_LABEL_PREFIX__ was defined that way on Mar 16 by Geoff, but I
cannot find a ChangeLog entry, discussion on gcc-patches, or a reason for
the change.
Because this change completely breaks the build on AIX, it is
extremely serious.
Thanks, David