From patchwork Sun Sep 12 00:27:22 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [PR45650] _Unwind_FindTableEntry visibility on ia64 Date: Sat, 11 Sep 2010 14:27:22 -0000 From: Gerald Pfeifer X-Patchwork-Id: 64532 Message-Id: To: gcc-patches@gcc.gnu.org, "H.J. Lu" , Steve Ellcey Cc: Loren James Rittle , Anton Shterenlikht So, it turns out that bug #40959 actually is only one of two regressions that breaks bootstrap on FreeBSD/ia64. This is about the second case. Since 2004-11-09 H.J. Lu PR target/18380 * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it hidden. * unwind-dw2.c (_Unwind_FindTableEntry): Removed. _Unwind_FindTableEntry has been marked hidden which is okay for those cases where GCC defines the function but breaks FreeBSD which has this in libc. The patch below fixes this, but I'm not sure an #ifndef like this is acceptable? If not, how can we fix this? Gerald 2010-09-12 Gerald Pfeifer PR target/45650 * config/ia64/unwind-ia64.h: Do not mark _Unwind_FindTableEntry hidden on FreeBSD. Index: config/ia64/unwind-ia64.h =================================================================== --- config/ia64/unwind-ia64.h (revision 164202) +++ config/ia64/unwind-ia64.h (working copy) @@ -40,4 +40,7 @@ extern struct unw_table_entry * _Unwind_FindTableEntry (void *pc, unsigned long *segment_base, unsigned long *gp, struct unw_table_entry *ent) - __attribute__ ((__visibility__ ("hidden"))); +#ifndef __FreeBSD__ + __attribute__ ((__visibility__ ("hidden"))) +#endif + ;