[PATCH, PR45650] _Unwind_FindTableEntry visibility on ia64

Gerald Pfeifer gerald@pfeifer.com
Sun Sep 12 03:07:00 GMT 2010


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  <hongjiu.lu@intel.com>

        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  <gerald@pfeifer.com>

	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
+                        ;



More information about the Gcc-patches mailing list