PERFORCE change 95300 for review
John Birrell
jb at FreeBSD.org
Sat Apr 15 02:30:46 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=95300
Change 95300 by jb at jb_freebsd2 on 2006/04/15 02:30:23
Create weak references the FreeBSD way. It looks like gcc on FreeBSD silently
ignores #pragma weak.
Affected files ...
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/begin.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/cntl.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/end.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/error.c#3 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/fill.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/flag.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getarhdr.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getarsym.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getbase.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getdata.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getehdr.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getident.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getphdr.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getscn.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getshdr.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/hash.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/kind.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/ndxscn.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/newdata.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/newphdr.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/newscn.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/next.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/nextscn.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/rand.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/rawdata.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/rawfile.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/strptr.c#2 edit
.. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/xlate.m4#2 edit
Differences ...
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/begin.c#2 (text) ====
@@ -32,8 +32,14 @@
#pragma ident "@(#)begin.c 1.17 05/06/08 SMI" /* SVr4.0 1.13 */
+#if defined(sun)
#pragma weak elf_begin = _elf_begin
#pragma weak elf_memory = _elf_memory
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_begin,elf_begin);
+__weak_reference(_elf_memory,elf_memory);
+#endif
#include "syn.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/cntl.c#2 (text) ====
@@ -30,8 +30,12 @@
#pragma ident "@(#)cntl.c 1.10 05/06/08 SMI" /* SVr4.0 1.4 */
+#if defined(sun)
#pragma weak elf_cntl = _elf_cntl
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_cntl,elf_cntl);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/end.c#2 (text) ====
@@ -31,8 +31,12 @@
#pragma ident "@(#)end.c 1.11 05/06/08 SMI" /* SVr4.0 1.11 */
+#if defined(sun)
#pragma weak elf_end = _elf_end
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_end,elf_end);
+#endif
#include "syn.h"
#include <ar.h>
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/error.c#3 (text) ====
@@ -27,8 +27,14 @@
#pragma ident "@(#)error.c 1.20 05/06/08 SMI" /* SVr4.0 1.16 */
+#if defined(sun)
#pragma weak elf_errmsg = _elf_errmsg
#pragma weak elf_errno = _elf_errno
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_errmsg,elf_errmsg);
+__weak_reference(_elf_errno,elf_errno);
+#endif
#include "syn.h"
#if defined(sun)
@@ -64,13 +70,18 @@
NOTE(DATA_READABLE_WITHOUT_LOCK(bufonce))
+#if defined(sun)
extern char *_dgettext(const char *, const char *);
-
+#endif
const char *
_libelf_msg(Msg mid)
{
+#ifdef DOODAD
return (_dgettext(MSG_ORIG(MSG_SUNW_OST_SGS), MSG_ORIG(mid)));
+#else
+return NULL;
+#endif
}
@@ -110,7 +121,12 @@
if (keyonce == 0)
return (0);
+#if defined(sun)
(void) thr_getspecific(errkey, (void **)(&rc));
+#else
+ rc = (intptr_t) pthread_getspecific(errkey);
+#endif
+
return ((int)rc);
}
@@ -154,7 +170,11 @@
(void) mutex_unlock(&buflock);
}
+#if defined(sun)
(void) thr_getspecific(bufkey, (void **)&buffer);
+#else
+ buffer = (char *) pthread_getspecific(bufkey);
+#endif
if (!buffer) {
if ((buffer = malloc(MAXELFERR)) == 0)
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/fill.c#2 (text) ====
@@ -30,7 +30,12 @@
#pragma ident "@(#)fill.c 1.10 05/06/08 SMI" /* SVr4.0 1.2 */
+#if defined(sun)
#pragma weak elf_fill = _elf_fill
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_fill,elf_fill);
+#endif
#include <libelf.h>
#include "syn.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/flag.c#2 (text) ====
@@ -30,13 +30,22 @@
#pragma ident "@(#)flag.c 1.10 05/06/08 SMI" /* SVr4.0 1.6 */
+#if defined(sun)
#pragma weak elf_flagdata = _elf_flagdata
#pragma weak elf_flagehdr = _elf_flagehdr
#pragma weak elf_flagelf = _elf_flagelf
#pragma weak elf_flagphdr = _elf_flagphdr
#pragma weak elf_flagscn = _elf_flagscn
#pragma weak elf_flagshdr = _elf_flagshdr
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_flagdata,elf_flagdata);
+__weak_reference(_elf_flagehdr,elf_flagehdr);
+__weak_reference(_elf_flagelf,elf_flagelf);
+__weak_reference(_elf_flagphdr,elf_flagphdr);
+__weak_reference(_elf_flagscn,elf_flagscn);
+__weak_reference(_elf_flagshdr,elf_flagshdr);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getarhdr.c#2 (text) ====
@@ -30,8 +30,12 @@
#pragma ident "@(#)getarhdr.c 1.12 05/06/08 SMI" /* SVr4.0 1.7 */
+#if defined(sun)
#pragma weak elf_getarhdr = _elf_getarhdr
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_getarhdr,elf_getarhdr);
+#endif
#include <ar.h>
#include "syn.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getarsym.c#2 (text) ====
@@ -31,8 +31,12 @@
#pragma ident "@(#)getarsym.c 1.14 05/06/08 SMI" /* SVr4.0 1.6 */
+#if defined(sun)
#pragma weak elf_getarsym = _elf_getarsym
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_getarsym,elf_getarsym);
+#endif
#include "syn.h"
#include <stdlib.h>
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getbase.c#2 (text) ====
@@ -30,8 +30,12 @@
#pragma ident "@(#)getbase.c 1.9 05/06/08 SMI" /* SVr4.0 1.6 */
+#if defined(sun)
#pragma weak elf_getbase = _elf_getbase
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_getbase,elf_getbase);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getdata.c#2 (text) ====
@@ -31,8 +31,12 @@
#pragma ident "@(#)getdata.c 1.22 06/03/03 SMI" /* SVr4.0 1.16 */
+#if defined(sun)
#pragma weak elf_getdata = _elf_getdata
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_getdata,elf_getdata);
+#endif
#include "syn.h"
#include <stdlib.h>
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getehdr.c#2 (text) ====
@@ -32,8 +32,12 @@
#pragma ident "@(#)getehdr.c 1.11 05/06/08 SMI" /* SVr4.0 1.8 */
+#if defined(sun)
#pragma weak elf32_getehdr = _elf32_getehdr
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf32_getehdr,elf32_getehdr);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getident.c#2 (text) ====
@@ -29,8 +29,12 @@
#pragma ident "@(#)getident.c 1.9 05/06/08 SMI" /* SVr4.0 1.8 */
+#if defined(sun)
#pragma weak elf_getident = _elf_getident
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_getident,elf_getident);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getphdr.c#2 (text) ====
@@ -31,8 +31,12 @@
#pragma ident "@(#)getphdr.c 1.11 05/06/08 SMI" /* SVr4.0 1.10 */
+#if defined(sun)
#pragma weak elf32_getphdr = _elf32_getphdr
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf32_getphdr,elf32_getphdr);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getscn.c#2 (text) ====
@@ -29,8 +29,12 @@
#pragma ident "@(#)getscn.c 1.10 05/06/08 SMI" /* SVr4.0 1.10 */
+#if defined(sun)
#pragma weak elf_getscn = _elf_getscn
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_getscn,elf_getscn);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/getshdr.c#2 (text) ====
@@ -29,7 +29,12 @@
#pragma ident "@(#)getshdr.c 1.12 05/06/08 SMI" /* SVr4.0 1.4 */
+#if defined(sun)
#pragma weak elf32_getshdr = _elf32_getshdr
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf32_getshdr,elf32_getshdr);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/hash.c#2 (text) ====
@@ -30,8 +30,12 @@
#pragma ident "@(#)hash.c 1.10 05/06/08 SMI" /* SVr4.0 1.4 */
+#if defined(sun)
#pragma weak elf_hash = _elf_hash
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_hash,elf_hash);
+#endif
#include "syn.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/kind.c#2 (text) ====
@@ -30,8 +30,12 @@
#pragma ident "@(#)kind.c 1.9 05/06/08 SMI" /* SVr4.0 1.4 */
+#if defined(sun)
#pragma weak elf_kind = _elf_kind
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_kind,elf_kind);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/ndxscn.c#2 (text) ====
@@ -31,8 +31,12 @@
#pragma ident "@(#)ndxscn.c 1.9 05/06/08 SMI" /* SVr4.0 1.2 */
+#if defined(sun)
#pragma weak elf_ndxscn = _elf_ndxscn
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_ndxscn,elf_ndxscn);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/newdata.c#2 (text) ====
@@ -31,8 +31,12 @@
#pragma ident "@(#)newdata.c 1.12 05/06/08 SMI" /* SVr4.0 1.2 */
+#if defined(sun)
#pragma weak elf_newdata = _elf_newdata
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_newdata,elf_newdata);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/newphdr.c#2 (text) ====
@@ -30,9 +30,14 @@
#pragma ident "@(#)newphdr.c 1.17 05/06/08 SMI"
+#if defined(sun)
#if !defined(_ELF64)
#pragma weak elf32_newphdr = _elf32_newphdr
#endif
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf32_newphdr,elf32_newphdr);
+#endif
#include "syn.h"
#include <stdlib.h>
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/newscn.c#2 (text) ====
@@ -30,8 +30,12 @@
#pragma ident "@(#)newscn.c 1.12 05/06/08 SMI" /* SVr4.0 1.4 */
+#if defined(sun)
#pragma weak elf_newscn = _elf_newscn
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_newscn,elf_newscn);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/next.c#2 (text) ====
@@ -30,8 +30,12 @@
#pragma ident "@(#)next.c 1.9 05/06/08 SMI" /* SVr4.0 1.5 */
+#if defined(sun)
#pragma weak elf_next = _elf_next
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_next,elf_next);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/nextscn.c#2 (text) ====
@@ -31,7 +31,12 @@
#pragma ident "@(#)nextscn.c 1.9 05/06/08 SMI" /* SVr4.0 1.2 */
+#if defined(sun)
#pragma weak elf_nextscn = _elf_nextscn
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_nextscn,elf_nextscn);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/rand.c#2 (text) ====
@@ -30,8 +30,12 @@
#pragma ident "@(#)rand.c 1.10 05/06/08 SMI" /* SVr4.0 1.2 */
+#if defined(sun)
#pragma weak elf_rand = _elf_rand
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_rand,elf_rand);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/rawdata.c#2 (text) ====
@@ -31,8 +31,12 @@
#pragma ident "@(#)rawdata.c 1.12 05/06/08 SMI" /* SVr4.0 1.3 */
+#if defined(sun)
#pragma weak elf_rawdata = _elf_rawdata
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_rawdata,elf_rawdata);
+#endif
#include "syn.h"
#include <stdlib.h>
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/rawfile.c#2 (text) ====
@@ -31,8 +31,12 @@
#pragma ident "@(#)rawfile.c 1.9 05/06/08 SMI" /* SVr4.0 1.4 */
+#if defined(sun)
#pragma weak elf_rawfile = _elf_rawfile
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_rawfile,elf_rawfile);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/strptr.c#2 (text) ====
@@ -30,8 +30,12 @@
#pragma ident "@(#)strptr.c 1.11 05/06/08 SMI" /* SVr4.0 1.6 */
+#if defined(sun)
#pragma weak elf_strptr = _elf_strptr
-
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf_strptr,elf_strptr);
+#endif
#include "syn.h"
#include "libelf.h"
==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/xlate.m4#2 (text) ====
@@ -26,10 +26,18 @@
#pragma ident "@(#)xlate.m4 1.27 06/03/07 SMI"
+#if defined(sun)
#pragma weak elf32_fsize = _elf32_fsize
#pragma weak elf_version = _elf_version
#pragma weak elf32_xlatetof = _elf32_xlatetof
#pragma weak elf32_xlatetom = _elf32_xlatetom
+#else
+#include <sys/cdefs.h>
+__weak_reference(_elf32_fsize,elf32_fsize);
+__weak_reference(_elf_version,elf_version);
+__weak_reference(_elf32_xlatetof,elf32_xlatetof);
+__weak_reference(_elf32_xlatetom,elf32_xlatetom);
+#endif
#include "syn.h"
#include <memory.h>
More information about the p4-projects
mailing list