Subject: ld.so
To: MacBSD Mailing List <port-mac68k@NetBSD.ORG>
From: David Bushong <dbushong@saidin.EECS.Berkeley.EDU>
List: port-mac68k
Date: 09/15/1997 22:45:46
Well, it's been about 3 months since I last posted this, and I still
haven't figured it out myself, so I thought I'd try again:
Attempting to build /usr/src/gnu/usr.bin/ld/rtld gives me the following
warning (but warnings are treated as errors in the .mk included files):
cc -O -fpic -fno-function-cse -DRTLD -DLIBC_SCCS -I/usr/src/gnu/usr.bin/ld/rtld/../common -I/usr/src/gnu/usr.bin/ld/rtld/../arch/m68k -I/usr/src/gnu/usr.bin/ld/rtld/../common -I/usr/src/gnu/usr.bin/ld/rtld/../arch/m68k -Werror -c rtld.c
cc1: warnings being treated as errors
rtld.c:182: warning: initialization from incompatible pointer type
rtld.c:182: warning: initialization from incompatible pointer type
*** Error code 1
Stop.
The line it refers, and those around it, look like this:
static void *__dlopen __P((const char *, int));
static int __dlclose __P((void *));
static void *__dlsym __P((void *, const char *));
static int __dlctl __P((void *, int, void *));
static void __dlexit __P((void));
static struct ld_entry ld_entry = {
__dlopen, __dlclose, __dlsym, __dlctl, __dlexit
};
Which apparently conflicts with these lines in link.h:
struct ld_entry {
void *(*dlopen) __P((const char *, int));
int (*dlclose) __P((void *));
void *(*dlsym) __P((void *, const char *));
int (*dlctl) __P((void *, int, void *));
void (*dlexit) __P((void));
void (*dlrsrvd[3]) __P((void));
};
I have -current include files, -current sys/include files, the most recent gcc, and everything else I can think of... anyone have an idea what I'm missing?
_/_/_/_/ _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/ _/ _/ _/ _/ _/ David P. Bushong -- (510) 845-3271 _/
_/ _/ _/_/_/ _/_/_/ dbushong@cory.eecs.berkeley.edu _/
_/ _/ _/ _/ _/ http://www-inst.eecs.berkeley.edu/~dbushong_/
_/_/_/_/_/_/ _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/