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