Subject: Re: Changing kernel base address (was: Re: Heads up: shared arm
To: Ben Harris <bjh21@netbsd.org>
From: Richard Earnshaw <rearnsha@arm.com>
List: port-arm32
Date: 01/22/2001 13:44:13
This is a multipart MIME message.

--==_Exmh_-19564336520
Content-Type: text/plain; charset=us-ascii

OK, lets look again at the idea of fixing config.  Maybe it's not too hard 
after all.  The following is *totally* untested, but I think it would do 
what was required....

R.



--==_Exmh_-19564336520
Content-Type: application/x-patch ; name="mkmkf.patch"
Content-Description: mkmkf.patch
Content-Disposition: attachment; filename="mkmkf.patch"

Index: mkmakefile.c
===================================================================
RCS file: /cvsroot/syssrc/usr.sbin/config/mkmakefile.c,v
retrieving revision 1.47
diff -p -r1.47 mkmakefile.c
*** mkmakefile.c	2000/12/03 07:06:15	1.47
--- mkmakefile.c	2001/01/22 13:42:15
*************** static const char *srcpath(struct files 
*** 62,68 ****
  static const char *prefix_prologue(const char *);
  
  static int emitdefs(FILE *);
! static int emitfiles(FILE *, int);
  
  static int emitobjs(FILE *);
  static int emitcfiles(FILE *);
--- 62,68 ----
  static const char *prefix_prologue(const char *);
  
  static int emitdefs(FILE *);
! static int emitfiles(FILE *, int, int);
  
  static int emitobjs(FILE *);
  static int emitcfiles(FILE *);
*************** static int
*** 307,324 ****
  emitcfiles(FILE *fp)
  {
  
! 	return (emitfiles(fp, 'c'));
  }
  
  static int
  emitsfiles(FILE *fp)
  {
  
! 	return (emitfiles(fp, 's'));
  }
  
  static int
! emitfiles(FILE *fp, int suffix)
  {
  	struct files *fi;
  	struct config *cf;
--- 307,324 ----
  emitcfiles(FILE *fp)
  {
  
! 	return (emitfiles(fp, 'c', 0));
  }
  
  static int
  emitsfiles(FILE *fp)
  {
  
! 	return (emitfiles(fp, 's', 1));
  }
  
  static int
! emitfiles(FILE *fp, int suffix, int upper_suffix)
  {
  	struct files *fi;
  	struct config *cf;
*************** emitfiles(FILE *fp, int suffix)
*** 336,342 ****
  		if ((fpath = srcpath(fi)) == NULL)
                          return (1);
  		len = strlen(fpath);
! 		if (fpath[len - 1] != suffix)
  			continue;
  		if (*fpath != '/') {
  			len += 3;	/* "$S/" */
--- 336,343 ----
  		if ((fpath = srcpath(fi)) == NULL)
                          return (1);
  		len = strlen(fpath);
! 		if (! ((fpath[len - 1] == suffix) ||
! 		    (upper_ok && fpath[len - 1] == toupper(suffix))))
  			continue;
  		if (*fpath != '/') {
  			len += 3;	/* "$S/" */

--==_Exmh_-19564336520--