From owner-freebsd-hackers Wed Jan 3 23:35:53 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id XAA20810 for hackers-outgoing; Wed, 3 Jan 1996 23:35:53 -0800 (PST) Received: from time.cdrom.com (time.cdrom.com [192.216.222.226]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id XAA20805 Wed, 3 Jan 1996 23:35:50 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by time.cdrom.com (8.6.12/8.6.9) with SMTP id XAA14209; Wed, 3 Jan 1996 23:35:37 -0800 To: hackers@freebsd.org cc: gj@freebsd.org Subject: Anyone got GNU `dld' ported to FreeBSD? Date: Wed, 03 Jan 1996 23:35:36 -0800 Message-ID: <14201.820740936@time.cdrom.com> From: "Jordan K. Hubbard" Sender: owner-hackers@freebsd.org Precedence: bulk I can't get it to work and, looking through the code, I can't even quite see how the examples *could* work! It reads in the object file fairly normally, e.g. it reads in the header, mallocs space for all the segments, reads them in, does "relocation" and so on. It's the relocation code that's got me scratching my head. In all of the examples, there's some sort of weird assumption that the library references are just magically "resolved" on behalf of the dynamic loading code (something that's totally and utterly untrue) and I'm having a hard time believing that it could have gone through 3 revisions this broken. Anyone have any other dynamic symbol resolution code I could look at? The dld and GCL (GNU Common Lisp, nee' KCL) code I have for doing this kind of stuff now is highly GPL'd, and it'd be nice to not have to bring more GPL stuff into the tree if we can help it. I know that walking the relocation tables isn't rocket science, I just don't want to have to look up what each and every relocation type is supposed to do! :-( Jordan