libc_hidden_proto breaks things for PowerPC64

Steve Munroe sjmunroe@us.ibm.com
Thu Aug 15 15:13:00 GMT 2002


Posting this to libc-alpha per Andreas Jaeger :

>> Steve, I suggest to continue this discussion on
>>libc-alpha@sources.redhat.com instead of putting everybody into CC.

Ran into the following situation ... any ideas, alternatives, or
preferences?

*** libc23-cvstip-20020808/inet/in6_addr.c Mon Aug  5 23:29:36 2002
--- libc23/inet/in6_addr.c Wed Aug 14 13:20:40 2002
***************
*** 17,20 ****
--- 17,37 ----
     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
     02111-1307 USA.  */
+
+ #ifdef __powerpc64__
+ /*
+  PowerPC64 needs "DOT_NAME"s for functions but not for data.
+  The simplest solution would undefine HAVE_ASM_GLOBAL_DOT_NAME,
+  but this does not work because "config.h" and
+  "./include/libc-symbols.h" are included before the logical start
+  of this file.  Perhaps we need a separate hidden_data_def macro?
+
+  As a temporary work-around, undefine __hidden_def1 and redefine
+  it here, as if HAVE_ASM_GLOBAL_DOT_NAME was not defined.
+ */
+ #undef __hidden_def1
+ #define __hidden_def1(original, alias)   \
+   ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
+   .set C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
+ #endif

  #include <netinet/in.h>






More information about the Libc-alpha mailing list