Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Jan 1995 20:10:57 +0100 (MET)
From:      Remy.Card@masi.ibp.fr (Remy CARD)
To:        wkk@eng.warwick.ac.uk
Cc:        hackers@FreeBSD.org
Subject:   Re: Assembler error
Message-ID:  <199501251910.UAA15501@hebe.ibp.fr>
In-Reply-To: <11463.9501241600@eng.warwick.ac.uk> from "wkk@eng.warwick.ac.uk" at Jan 24, 95 04:00:23 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> Hello,

	Hello,

> 	I am trying to compile mach4 server on FreeBSD. Theoretically it should 
> compile but I get the following error in file that has some assembler code. I
> am not an assembler expert but looking at the error it look likes the assembler
> is getting confused with the text and data segment (I think). Can anyone help?

	Well, I have successfully built Mach 4 on FreeBSD after patching the
assembler a bit.  I include the patch in this mail.  I don't think that it
can break anything (I am running a system recompiled from the current sources
and it works as usual).  Note that the very same patch is needed for NetBSD 1.0.


	Can someone please consider commiting this patch?
> 
> Thanks very much.
> 
> khondkar.

		Remy

*** gnu/usr.bin/as/subsegs.c.orig	Fri Jan 13 12:36:42 1995
--- gnu/usr.bin/as/subsegs.c	Thu Jan  5 19:56:40 1995
***************
*** 140,145 ****
--- 140,148 ----
  	if (seg == SEG_DATA) {
  		seg_fix_rootP = &data_fix_root;
  		seg_fix_tailP = &data_fix_tail;
+ 	} else if (seg == SEG_BSS) {
+ 		seg_fix_rootP = &bss_fix_root;
+ 		seg_fix_tailP = &bss_fix_tail;
  	} else {
  		know (seg == SEG_TEXT);
  		seg_fix_rootP = &text_fix_root;
***************
*** 171,177 ****
  {
  	long tmp;		/* JF for obstack alignment hacking */
  #ifndef MANY_SEGMENTS
! 	know(seg == SEG_DATA || seg == SEG_TEXT);
  #endif
  	if (seg != now_seg || subseg != now_subseg)
  	    {				/* we just changed sub-segments */
--- 174,180 ----
  {
  	long tmp;		/* JF for obstack alignment hacking */
  #ifndef MANY_SEGMENTS
! 	know(seg == SEG_DATA || seg == SEG_TEXT || seg == SEG_BSS);
  #endif
  	if (seg != now_seg || subseg != now_subseg)
  	    {				/* we just changed sub-segments */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199501251910.UAA15501>