This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: binutils and BSD/OS 4.1
- To: binutils at sources dot redhat dot com
- Subject: Re: binutils and BSD/OS 4.1
- From: "Edward S. Marshall" <emarshall at mercantec dot com>
- Date: Mon, 31 Jul 2000 14:22:05 -0500 (CDT)
Hi,
I think I have a workaround that is permitting binutils 2.10 and the
latest CVS snap to build; on BSD/OS 4.1, you see the following in
/usr/include/machine/vmlayout.h:
#ifndef KERNEL
/*
* The only symbols we export to user space are the nlist names of the
* exported symbols.
*/
#define NL_USRSTACK "_USRSTACK"
#define NL_KERNBASE "_KERNBASE"
#define NL_SYSTEM "SYSTEM"
#define NL_VM_MIN_ADDRESS "_VM_MIN_ADDRESS"
#define NL_VM_MAXUSER_ADDRESS "_VM_MAXUSER_ADDRESS"
#endif /* KERNEL */
Which tells me that they're no longer exporting "USRSTACK", but instead
expect you to make use of "NL_USRSTACK". I modifed bfd/hosts/i386bsd.h
accordingly, and the build completed successfully, both on BSD/OS 3.0
(which was working fine) and 4.1 (the problem platform). I have no idea if
3.1 through 4.0 is affected by this as well.
Can anyone confirm that this is the "correct" fix?
Patch included below:
*** binutils-2.10/bfd/hosts/i386bsd.h.orig Mon May 3 02:28:58 1999
--- binutils-2.10/bfd/hosts/i386bsd.h Mon Jul 31 14:10:30 2000
***************
*** 20,26 ****
--- 20,30 ----
#ifdef __bsdi__
/* This seems to be the right thing for BSDI. */
+ #ifdef NL_USRSTACK
+ #define HOST_STACK_END_ADDR NL_USRSTACK
+ #else
#define HOST_STACK_END_ADDR USRSTACK
+ #endif
#define HOST_DATA_START_ADDR ((bfd_vma)u.u_kproc.kp_eproc.e_vm.vm_daddr)
#else
/* This seems to be the right thing for 386BSD release 0.1. */
--
Edward S. Marshall <emarshall@mercantec.com> UNIX Administrator
http://www.nyx.net/~emarshal/ Mercantec, Inc.