Date: Mon, 31 Aug 1998 11:52:25 -0700 From: John Polstra <jdp@polstra.com> To: ccsanady@friley-185-114.res.iastate.edu Cc: current@FreeBSD.ORG Subject: Re: elf and kerberos.. Message-ID: <199808311852.LAA05761@austin.polstra.com> In-Reply-To: <199808311713.MAA21937@friley-185-114.res.iastate.edu> References: <199808311713.MAA21937@friley-185-114.res.iastate.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
In article <199808311713.MAA21937@friley-185-114.res.iastate.edu>,
Chris Csanady <ccsanady@friley-185-114.res.iastate.edu> wrote:
>
> The kerberos world seems to be unhappy at present..
>
> cc -O -pipe -I/usr/src/gnu/usr.bin/cvs/cvs -I/usr/src/gnu/usr.bin/cvs/cvs/../li
> b -I/usr/src/gnu/usr.bin/cvs/cvs/../../../../contrib/cvs/src
> -I/usr/src/gnu/usr.bin/cvs/cvs/../../../../contrib/cvs/lib -DHAVE_CONFIG_H
> -DHAVE_KERBEROS -DHAVE_KRB_GET_ERR_TEXT -DENCRYPTION
> -I/usr/obj/elf/usr/src/tmp/usr/include -o cvs add.o admin.o buffer.o
> checkin.o checkout.o classify.o client.o commit.o create_adm.o cvsrc.o diff.o
> edit.o entries.o error.o expand_path.o fileattr.o filesubr.o find_names.o
> hardlink.o hash.o history.o ignore.o import.o lock.o log.o login.o logmsg.o
> main.o mkmodules.o modules.o myndbm.o no_diff.o parseinfo.o patch.o rcs.o
> rcscmds.o recurse.o release.o remove.o repos.o root.o rtag.o run.o scramble.o
> server.o status.o subr.o tag.o update.o vers_ts.o version.o watch.o wrapper.o
> zlib.o /usr/obj/elf/usr/src/gnu/usr.bin/cvs/cvs/../lib/libcvs.a
> /usr/obj/elf/usr/src/gnu/usr.bin/cvs/cvs/../libdiff/libdiff.a -lgnuregex -lmd
> -lcrypt -lz -lkrb -ldes
> /usr/obj/elf/usr/src/tmp/usr/lib/libkrb.so: undefined reference to `__et_list'
> *** Error code 1
It's caused by this assembly code in src/crypto/kerberosIV/lib/krb/et_list.c:
#ifdef __FreeBSD__
asm(".globl __et_list"); /* FreeBSD bug workaround */
#endif
A quick fix would be:
#ifdef __FreeBSD__
#ifdef __ELF__
asm(".globl _et_list"); /* FreeBSD bug workaround */
#else
asm(".globl __et_list"); /* FreeBSD bug workaround */
#endif
#endif
There's a cleaner way to do it, but I don't have time to test it
just now. It involves including <machine/asmacros.h> and using the
CNAME macro.
John
--
John Polstra jdp@polstra.com
John D. Polstra & Co., Inc. Seattle, Washington USA
"Self-knowledge is always bad news." -- John Barth
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808311852.LAA05761>
