binutils and BSD/OS 4.1
Edward S. Marshall
emarshall@mercantec.com
Mon Jul 31 12:23:00 GMT 2000
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.
More information about the Binutils
mailing list