Re: Non 386 testers REALLY NEEDED

2002-02-11 Thread Alfred Perlstein

* Julian Elischer [EMAIL PROTECTED] [020206 12:20] wrote:
 
 for the set of patches at:
 http://www.freebsd.org/~julian/adiff
 
 these patches SHOULD NOT EFFECT your system except to do some
 slight re-aranging of stuff in the kernel.
 
 THe aim is to get this committed to 'clarify' the upcoming
 KSE commit in http://www.freebsd.org/~julian/thediff
 
 which includes adiff as a subset.
 
 when adiff is committed thediff will become a lot easier for people to 
 read and check. I'd like to get adiff in relatively soon.

I commend you on your wait for testers, but I find that after a couple
of days of waiting for them to appear and give decent feedback usually
just committing the code will bring out a horde of involentary testers
which actually gets the code stabilized.

This is current, we're allowed some breakage.  Cross your I's and dot
your T's first though. :-)

-- 
-Alfred Perlstein [[EMAIL PROTECTED]]
'Instead of asking why a piece of software is using 1970s technology,
 start asking why software is ignoring 30 years of accumulated wisdom.'
Tax deductable donations for FreeBSD: http://www.freebsdfoundation.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-11 Thread Julian Elischer



I've committed both the kernel diff and a libkvm diff that seems to work
for me here.

can you check it with the new -current  again ?



On Wed, 6 Feb 2002, Andrew Gallatin wrote:

 
 Jake Burkholder writes:
What's the right way to do this?
   
   I think you want lda, its used to load an address constant in support.s:
   
   lda t0, fusufault   /* trap faults */
 
 Bingo!  Thanks.. I haven't done any alpha assembler in nearly a year..
 
 Julian -- you need to add this to your diff:
 
 
 Index: alpha/alpha/locore.s
 ===
 RCS file: /home/ncvs/src/sys/alpha/alpha/locore.s,v
 retrieving revision 1.20
 diff -u -r1.20 locore.s
 --- alpha/alpha/locore.s  11 Dec 2001 23:33:38 -  1.20
 +++ alpha/alpha/locore.s  7 Feb 2002 01:05:10 -
 @@ -119,7 +119,7 @@
   /*
* Switch to proc0's PCB.
*/
 - ldq t0,thread0  /* get phys addr of pcb */
 + lda t0,thread0
   ldq a0,TD_MD_PCBPADDR(t0)
   SWITCH_CONTEXT
  
 
 Buildworld fails in libkvm with the first diff... I assume
 you're aware of this?
 
 /usr/src/lib/libkvm/kvm_proc.c: In function `kvm_proclist':
 /usr/src/lib/libkvm/kvm_proc.c:263: structure has no member named `p_thread'
 /usr/src/lib/libkvm/kvm_proc.c:264: structure has no member named `p_thread'
 
 ...
 
 
 
 I'm no seeing a hang when sync'ing disks, but this might just be a
 -current'ism.
 
 
 
 
 Cheers,
 
 Drew
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-11 Thread David O'Brien

On Wed, Feb 06, 2002 at 06:54:22PM -0800, Terry Lambert wrote:
 Julian Elischer wrote:
  how about a port that uses the installed sources
  together with some uploaded parts to 'reconstitute' gcj as if it had been
  compiled wit the rest of the system.
 
 FreeBSD does a fairly evil thing: it takes the compiler
 source code post-config instead of pre-config.

I do not know what this means.  I import [into contrib/] the bits before
'configure' has been run.  I put various bits output by 'configure' in
the build directory (ie, where the bmake Makefile is).

 
 It's really an incredibly bad idea to import *after* a
 config instead of before.

What peice of software have we done this to?

-- 
-- David  ([EMAIL PROTECTED])

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-11 Thread Andrew Gallatin


Julian Elischer writes:
  
  
  I've committed both the kernel diff and a libkvm diff that seems to work
  for me here.
  
  can you check it with the new -current  again ?

World breakage on alpha:

usr/src/gnu/usr.bin/binutils/gdb/alpha/kvm-fbsd.c: In function `set_proc_cmd':
/usr/src/gnu/usr.bin/binutils/gdb/alpha/kvm-fbsd.c:393: structure has no member named 
`p_thread'
*** Error code 1

Stop in /usr/src/gnu/usr.bin/binutils/gdb.
*** Error code 1


The following diff fixes it, but isn't likely to be correct.  How
should kvm be finding the pcb based on the process?

Drew


Index: kvm-fbsd.c
===
RCS file: /home/ncvs/src/gnu/usr.bin/binutils/gdb/alpha/kvm-fbsd.c,v
retrieving revision 1.6
diff -u -r1.6 kvm-fbsd.c
--- kvm-fbsd.c  13 Oct 2001 04:38:46 -  1.6
+++ kvm-fbsd.c  8 Feb 2002 01:39:32 -
@@ -390,7 +390,7 @@
   addr = (CORE_ADDR)parse_and_eval_address(arg);
 
   /* Read the PCB address in proc structure. */
-  addr += (int) ((struct proc *)0)-p_thread.td_pcb;
+  addr += (int) ((struct proc *)0)-p_xxthread.td_pcb;
   if (kvread(addr, val))
 error(cannot read pcb ptr);
 

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-11 Thread Wilko Bulte

On Wed, Feb 06, 2002 at 12:32:18PM -0800, Alfred Perlstein wrote:
 * Julian Elischer [EMAIL PROTECTED] [020206 12:20] wrote:
  
  for the set of patches at:
  http://www.freebsd.org/~julian/adiff
  
  these patches SHOULD NOT EFFECT your system except to do some
  slight re-aranging of stuff in the kernel.
  
  THe aim is to get this committed to 'clarify' the upcoming
  KSE commit in http://www.freebsd.org/~julian/thediff
  
  which includes adiff as a subset.
  
  when adiff is committed thediff will become a lot easier for people to 
  read and check. I'd like to get adiff in relatively soon.
 
 I commend you on your wait for testers, but I find that after a couple
 of days of waiting for them to appear and give decent feedback usually
 just committing the code will bring out a horde of involentary testers
 which actually gets the code stabilized.
 
 This is current, we're allowed some breakage.  Cross your I's and dot
 your T's first though. :-)

C'mon guys: it is not so long ago (days..) that the Alpha started
buildworlding -current again. Alpha builds tend to take much
longer (on most people's hardware that is) so a bit of patience
would be nice.

FWIW: I'm trying to get 2 of my Alphas to go to -current again.

W/
-- 
|   / o / /_  _ [EMAIL PROTECTED]
|/|/ / / /(  (_)  Bulte Arnhem, the Netherlands

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-11 Thread Julian Elischer

Ok so since I don't know alpha assembly.
can it be changed to teh address of the thread0 structure?

(I'll bet the same thing needs to be done on the other
architectures)


THANKS!


On Wed, 6 Feb 2002, Andrew Gallatin wrote:

 
 Julian Elischer writes:
   
   for the set of patches at:
   http://www.freebsd.org/~julian/adiff
   
   these patches SHOULD NOT EFFECT your system except to do some
   slight re-aranging of stuff in the kernel.
 
 Today's alpha kernel, plus those changes results in a ksp not valid
 halt with the PC near the beginning of mi_startup:
 
 /boot//kernel.bad/kernel data=0x4150c0+0x39360
 syms=[0x8+0x62e68+0x8+0x4a36d]
 Entering /boot//kernel.bad/kernel at 0xfc33b680...
 sio1: gdb debugging port
 
 halted CPU 0
 
 halt code = 2
 kernel stack not valid halt
 PC = fc47e80c
 
 
 
 Since thread0 is no longer a pointer, this looks suspicious in locore.s:
 
 /*
  * Switch to proc0's PCB.
  */
 ldq t0,thread0  /* get phys addr of pcb */
 ldq a0,TD_MD_PCBPADDR(t0)
 SWITCH_CONTEXT
 
 
 
 Drew
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-11 Thread Jake Burkholder

Apparently, On Wed, Feb 06, 2002 at 06:17:38PM -0500,
Andrew Gallatin said words to the effect of;

 
 Andrew Gallatin writes:
   
   Since thread0 is no longer a pointer, this looks suspicious in locore.s:
   
   /*
* Switch to proc0's PCB.
*/
   ldq t0,thread0  /* get phys addr of pcb */
   ldq a0,TD_MD_PCBPADDR(t0)
   SWITCH_CONTEXT
 
 Yeah.. that's it.  I hacked around it by taking thread0's address in
 machdep.c, shoving it into a global and using that global in locore.s
 The resulting kernel booted.
 
 What's the right way to do this?

I think you want lda, its used to load an address constant in support.s:

lda t0, fusufault   /* trap faults */

Jake

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-11 Thread Jake Burkholder

Apparently, On Wed, Feb 06, 2002 at 12:01:44PM -0800,
Julian Elischer said words to the effect of;

 
 for the set of patches at:
 http://www.freebsd.org/~julian/adiff
 
 these patches SHOULD NOT EFFECT your system except to do some
 slight re-aranging of stuff in the kernel.
 
 THe aim is to get this committed to 'clarify' the upcoming
 KSE commit in http://www.freebsd.org/~julian/thediff
 
 which includes adiff as a subset.
 
 when adiff is committed thediff will become a lot easier for people to 
 read and check. I'd like to get adiff in relatively soon.

This seems to work fine on sparc64.

Jake

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-11 Thread Andrew Gallatin


Julian Elischer writes:
  
  for the set of patches at:
  http://www.freebsd.org/~julian/adiff
  
  these patches SHOULD NOT EFFECT your system except to do some
  slight re-aranging of stuff in the kernel.

Today's alpha kernel, plus those changes results in a ksp not valid
halt with the PC near the beginning of mi_startup:

/boot//kernel.bad/kernel data=0x4150c0+0x39360
syms=[0x8+0x62e68+0x8+0x4a36d]
Entering /boot//kernel.bad/kernel at 0xfc33b680...
sio1: gdb debugging port

halted CPU 0

halt code = 2
kernel stack not valid halt
PC = fc47e80c



Since thread0 is no longer a pointer, this looks suspicious in locore.s:

/*
 * Switch to proc0's PCB.
 */
ldq t0,thread0  /* get phys addr of pcb */
ldq a0,TD_MD_PCBPADDR(t0)
SWITCH_CONTEXT



Drew

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-11 Thread Julian Elischer

I don't know the alpha at all but
how about

leaq t0, thread0

or some similar thing

or even..

ldq t0,$thread0

or something similar..
who's assembler is being used?



On Wed, 6 Feb 2002, Andrew Gallatin wrote:

 
 Andrew Gallatin writes:
   
   Since thread0 is no longer a pointer, this looks suspicious in locore.s:
   
   /*
* Switch to proc0's PCB.
*/
   ldq t0,thread0  /* get phys addr of pcb */
   ldq a0,TD_MD_PCBPADDR(t0)
   SWITCH_CONTEXT
 
 Yeah.. that's it.  I hacked around it by taking thread0's address in
 machdep.c, shoving it into a global and using that global in locore.s
 The resulting kernel booted.
 
 What's the right way to do this?
 
 Drew
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-11 Thread Benno Rice


--=-c5mu7fd8+iIeadXPJgcR
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Thu, 2002-02-07 at 08:01, Julian Elischer wrote:
=20
 for the set of patches at:
 http://www.freebsd.org/~julian/adiff
=20
 these patches SHOULD NOT EFFECT your system except to do some
 slight re-aranging of stuff in the kernel.
=20
 THe aim is to get this committed to 'clarify' the upcoming
 KSE commit in http://www.freebsd.org/~julian/thediff
=20
 which includes adiff as a subset.
=20
 when adiff is committed thediff will become a lot easier for people to=20
 read and check. I'd like to get adiff in relatively soon.

This causes some breakage in PowerPC but I'm working on it.  Go ahead
and commit and I'll fix PowerPC up after.

--=20
Benno Rice
[EMAIL PROTECTED]

--=-c5mu7fd8+iIeadXPJgcR
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.0.6 (FreeBSD)
Comment: For info see http://www.gnupg.org

iEYEABECAAYFAjxiXwIACgkQXjRwWofFmQkwBwCbBNexhLf2sKe8ZckvRwyYO6mw
IWgAni8WYxq6OsO1904GUM/nRN+P//IT
=I2dZ
-END PGP SIGNATURE-

--=-c5mu7fd8+iIeadXPJgcR--


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-11 Thread Terry Lambert

David O'Brien wrote:
  Ports does the same thing: hand tweaks stuff instead of
  pushing the patches back to the projects that originated
  it.
 
 *sigh*  Terry I respect your programming knowledge, but you are wrong
 here.  I send out a *LOT* of patches to the authors of ports I maintain
 (and I know others that do so also).  You might be surprised at the
 number of software authors that either 1. don't care that the package is
 not portable, or 2. wont answer their email.

Actually, I wouldn't.

I started on a pass thorugh the ports a while back, to try
and push patches back to the authors, but it's a daunting
task.  A lot of the ports patches (and I'm not trying to
dump on anyone in particular here... I didn't start by going
alphabetically ;-)) are unfortunately not push-backable.

The FreeBSD specific patches break things for other platforms,
or end up changing things for editorial reasons, without
making the targets of those changes site options, instead of
an editorial conflict with the authors of the original code
(DJB is particularly bad at portraying any patch offered him
as if it were an editorial comment, but other authors are not
immune to the same thing, unfortunately).

Needless to say, it would take a concerted effort to get rid
of the FreeBSD specific patches out of the ports tree, entirely,
not just the efforts of one person.

A quick perusal of the /usr/ports on a 4.1 machine I have here
locally (quick perusal?!? 8-)) shows that there are ~8000
patch files that are needed to FreeBSD-ify things, and that
number is likely much higher with the higher number of ports,
now.

Maybe Open Ports, being a voice for more OSs, will have better
luck.


  It's far, far better that the Makefile runs the
  autoconf/automake/configure/etc. on behalf of the contrib
  code, with no hand-tweaked files dragged in after the
  config has already been run.
 
 That would be nice, but the problem is autoconf/automake/configure/etc.
 is WAY too sensitive to the environment in which it is running.
 As one example, the C++ API supported by GCC.  When configuring it looks
 at the existing C++ API and matches it.  Well, a while back I wanted to
 change the C++ API.  There is no way to do this using `configure'.
 However, the way I do build the toolchain it is VERY DETERMINISTIC and I
 am able to set how I want things to work in the end.  This removes
 dependencies on the current environment.

Ugh.  I was unaware that they tried to do that.  It seems...
uh... brilliant... to want to lock everyone into the 1.0
version of the API because they upgraded through all the
g+ version since day 1.  8-p.

Unless there are overriding concerns like that, though, I
think that people doing ports should do as you say, not as
you do.  8-).  GCC is, unfortunately, a very big pile of
code; if anything's going to be an exception, it's that,
particularly given the release and buildworld issues.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-07 Thread Terry Lambert

Peter Wemm wrote:
 The following files:
   src/gnu/usr.bin/cc/cc_tools/auto-host.h
   src/gnu/usr.bin/cc/cc_tools/freebsd-native.h
 .. are vaguely based on stuff that configure generated and are hand tweaked
 to deal with the *freebsd* environment (eg: whether printf supports %p
 etc), rather than compiler configuration.  The compiler and language
 configuration is done at runtime in the bmake files.  eg:


Ports does the same thing: hand tweaks stuff instead of
pushing the patches back to the projects that originated
it.  It's far, far better that the Makefile runs the
autoconf/automake/configure/etc. on behalf of the contrib
code, with no hand-tweaked files dragged in after the
config has already been run.

In theory, this code, and the FreeBSD hierarchy that's used
to build it, should compile successfully on any platform,
FreeBSD  or not.

When I make something run on FreeBSD (e.g. OpenSLP, OpenLDAP,
MySQL, ACAP, Cyrus, etc.), I always send the changes back to
the originating project, rather than putting them in a patch
file, or an extra file derived from a post-configure.

To get back on track, the gcj stuff will be really hard to
deal with, unless it can be dealt with natively.

In other words, anything that has to be done in a FreeBSD
specific way really thwarts this goal.

If these (and other contrib build files elsewhere) are not
hgenerated correctly by the configure/automake/autoconf/etc.
process, then it's the process, not the files, that need to
be corrected.

Personally, I have great dislike for the tools used to
create nominal platform independence; the imake/xmkmf
stuff was really much better thought out for platfirm
independence.  But if we're stuck with the GNU munging,
then we are stuck with it, and it's better to embrace it
than it is to deny it by checking in hacked code to work
around an unwillingness to correct it.

Wasn't someone recently saying the same thing about the
stdup()'s in the YP code to make it not bitch about the
discarding of the const qualifier?

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-07 Thread Benno Rice

On Thu, 2002-02-07 at 08:01, Julian Elischer wrote:
 
 for the set of patches at:
 http://www.freebsd.org/~julian/adiff
 
 these patches SHOULD NOT EFFECT your system except to do some
 slight re-aranging of stuff in the kernel.
 
 THe aim is to get this committed to 'clarify' the upcoming
 KSE commit in http://www.freebsd.org/~julian/thediff
 
 which includes adiff as a subset.
 
 when adiff is committed thediff will become a lot easier for people to 
 read and check. I'd like to get adiff in relatively soon.

This causes some breakage in PowerPC but I'm working on it.  Go ahead
and commit and I'll fix PowerPC up after.

-- 
Benno Rice
[EMAIL PROTECTED]



signature.asc
Description: This is a digitally signed message part


Re: Non 386 testers REALLY NEEDED

2002-02-07 Thread David O'Brien

On Thu, Feb 07, 2002 at 12:41:33AM -0800, Terry Lambert wrote:

 Ports does the same thing: hand tweaks stuff instead of
 pushing the patches back to the projects that originated
 it.

*sigh*  Terry I respect your programming knowledge, but you are wrong
here.  I send out a *LOT* of patches to the authors of ports I maintain
(and I know others that do so also).  You might be surprised at the
number of software authors that either 1. don't care that the package is
not portable, or 2. wont answer their email.

 It's far, far better that the Makefile runs the
 autoconf/automake/configure/etc. on behalf of the contrib
 code, with no hand-tweaked files dragged in after the
 config has already been run.

That would be nice, but the problem is autoconf/automake/configure/etc.
is WAY too sensitive to the environment in which it is running.
As one example, the C++ API supported by GCC.  When configuring it looks
at the existing C++ API and matches it.  Well, a while back I wanted to
change the C++ API.  There is no way to do this using `configure'.
However, the way I do build the toolchain it is VERY DETERMINISTIC and I
am able to set how I want things to work in the end.  This removes
dependencies on the current environment.

-- 
-- David  ([EMAIL PROTECTED])

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-07 Thread Julian Elischer

thread0 is not the structure itself rather than a pointer
that should be the only difference that should affect MD code


On 7 Feb 2002, Benno Rice wrote:

 On Thu, 2002-02-07 at 08:01, Julian Elischer wrote:
  
  for the set of patches at:
  http://www.freebsd.org/~julian/adiff
  
  these patches SHOULD NOT EFFECT your system except to do some
  slight re-aranging of stuff in the kernel.
  
  THe aim is to get this committed to 'clarify' the upcoming
  KSE commit in http://www.freebsd.org/~julian/thediff
  
  which includes adiff as a subset.
  
  when adiff is committed thediff will become a lot easier for people to 
  read and check. I'd like to get adiff in relatively soon.
 
 This causes some breakage in PowerPC but I'm working on it.  Go ahead
 and commit and I'll fix PowerPC up after.
 
 -- 
 Benno Rice
 [EMAIL PROTECTED]
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-07 Thread Andrew Gallatin


Julian Elischer writes:
  
  
  I've committed both the kernel diff and a libkvm diff that seems to work
  for me here.
  
  can you check it with the new -current  again ?
  

I'll build a kernel  I'll be happy to try a buildworld under it.
But from what I understand, the new binutils is broken and alpha
binaries built with it segv, so I don't really want to install
whatever I build :-(

Drew

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-07 Thread Terry Lambert

David O'Brien wrote:
  Ports does the same thing: hand tweaks stuff instead of
  pushing the patches back to the projects that originated
  it.
 
 *sigh*  Terry I respect your programming knowledge, but you are wrong
 here.  I send out a *LOT* of patches to the authors of ports I maintain
 (and I know others that do so also).  You might be surprised at the
 number of software authors that either 1. don't care that the package is
 not portable, or 2. wont answer their email.

Actually, I wouldn't.

I started on a pass thorugh the ports a while back, to try
and push patches back to the authors, but it's a daunting
task.  A lot of the ports patches (and I'm not trying to
dump on anyone in particular here... I didn't start by going
alphabetically ;-)) are unfortunately not push-backable.

The FreeBSD specific patches break things for other platforms,
or end up changing things for editorial reasons, without
making the targets of those changes site options, instead of
an editorial conflict with the authors of the original code
(DJB is particularly bad at portraying any patch offered him
as if it were an editorial comment, but other authors are not
immune to the same thing, unfortunately).

Needless to say, it would take a concerted effort to get rid
of the FreeBSD specific patches out of the ports tree, entirely,
not just the efforts of one person.

A quick perusal of the /usr/ports on a 4.1 machine I have here
locally (quick perusal?!? 8-)) shows that there are ~8000
patch files that are needed to FreeBSD-ify things, and that
number is likely much higher with the higher number of ports,
now.

Maybe Open Ports, being a voice for more OSs, will have better
luck.


  It's far, far better that the Makefile runs the
  autoconf/automake/configure/etc. on behalf of the contrib
  code, with no hand-tweaked files dragged in after the
  config has already been run.
 
 That would be nice, but the problem is autoconf/automake/configure/etc.
 is WAY too sensitive to the environment in which it is running.
 As one example, the C++ API supported by GCC.  When configuring it looks
 at the existing C++ API and matches it.  Well, a while back I wanted to
 change the C++ API.  There is no way to do this using `configure'.
 However, the way I do build the toolchain it is VERY DETERMINISTIC and I
 am able to set how I want things to work in the end.  This removes
 dependencies on the current environment.

Ugh.  I was unaware that they tried to do that.  It seems...
uh... brilliant... to want to lock everyone into the 1.0
version of the API because they upgraded through all the
g+ version since day 1.  8-p.

Unless there are overriding concerns like that, though, I
think that people doing ports should do as you say, not as
you do.  8-).  GCC is, unfortunately, a very big pile of
code; if anything's going to be an exception, it's that,
particularly given the release and buildworld issues.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-07 Thread Wilko Bulte

On Thu, Feb 07, 2002 at 04:28:03PM -0500, Andrew Gallatin wrote:
 
 Julian Elischer writes:
   
   
   I've committed both the kernel diff and a libkvm diff that seems to work
   for me here.
   
   can you check it with the new -current  again ?
   
 
 I'll build a kernel  I'll be happy to try a buildworld under it.
 But from what I understand, the new binutils is broken and alpha
 binaries built with it segv, so I don't really want to install
 whatever I build :-(

No you don't. I did accidentally. Don't :(

-- 
|   / o / /_  _ [EMAIL PROTECTED]
|/|/ / / /(  (_)  Bulte Arnhem, the Netherlands

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-07 Thread Andrew Gallatin


Julian Elischer writes:
  
  
  I've committed both the kernel diff and a libkvm diff that seems to work
  for me here.
  
  can you check it with the new -current  again ?

World breakage on alpha:

usr/src/gnu/usr.bin/binutils/gdb/alpha/kvm-fbsd.c: In function `set_proc_cmd':
/usr/src/gnu/usr.bin/binutils/gdb/alpha/kvm-fbsd.c:393: structure has no member named 
`p_thread'
*** Error code 1

Stop in /usr/src/gnu/usr.bin/binutils/gdb.
*** Error code 1


The following diff fixes it, but isn't likely to be correct.  How
should kvm be finding the pcb based on the process?

Drew


Index: kvm-fbsd.c
===
RCS file: /home/ncvs/src/gnu/usr.bin/binutils/gdb/alpha/kvm-fbsd.c,v
retrieving revision 1.6
diff -u -r1.6 kvm-fbsd.c
--- kvm-fbsd.c  13 Oct 2001 04:38:46 -  1.6
+++ kvm-fbsd.c  8 Feb 2002 01:39:32 -
@@ -390,7 +390,7 @@
   addr = (CORE_ADDR)parse_and_eval_address(arg);
 
   /* Read the PCB address in proc structure. */
-  addr += (int) ((struct proc *)0)-p_thread.td_pcb;
+  addr += (int) ((struct proc *)0)-p_xxthread.td_pcb;
   if (kvread(addr, val))
 error(cannot read pcb ptr);
 

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-07 Thread Julian Elischer

ok here's the fix that went into libkvm

http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libkvm/kvm_proc.c.diff?r1=1.41r2=1.42

basically you have to map in the thread structure separatly to the
proc structure, using the first entry in the linked list of threads.

Obviously this only works for a process with one thread but the program
will need more help than that to handle more than one thread.

kvread and KREAD are basically the same thing.

basically you have read in teh thread structure and then read the pcb from
there..

On Thu, 7 Feb 2002, Andrew Gallatin wrote:

 
 Julian Elischer writes:
   
   
   I've committed both the kernel diff and a libkvm diff that seems to work
   for me here.
   
   can you check it with the new -current  again ?
 
 World breakage on alpha:
 
 usr/src/gnu/usr.bin/binutils/gdb/alpha/kvm-fbsd.c: In function `set_proc_cmd':
 /usr/src/gnu/usr.bin/binutils/gdb/alpha/kvm-fbsd.c:393: structure has no member 
named `p_thread'
 *** Error code 1
 
 Stop in /usr/src/gnu/usr.bin/binutils/gdb.
 *** Error code 1
 
 
 The following diff fixes it, but isn't likely to be correct.  How
 should kvm be finding the pcb based on the process?
 
 Drew
 
 
 Index: kvm-fbsd.c
 ===
 RCS file: /home/ncvs/src/gnu/usr.bin/binutils/gdb/alpha/kvm-fbsd.c,v
 retrieving revision 1.6
 diff -u -r1.6 kvm-fbsd.c
 --- kvm-fbsd.c13 Oct 2001 04:38:46 -  1.6
 +++ kvm-fbsd.c8 Feb 2002 01:39:32 -
 @@ -390,7 +390,7 @@
addr = (CORE_ADDR)parse_and_eval_address(arg);
  
/* Read the PCB address in proc structure. */
 -  addr += (int) ((struct proc *)0)-p_thread.td_pcb;
 +  addr += (int) ((struct proc *)0)-p_xxthread.td_pcb;
if (kvread(addr, val))
  error(cannot read pcb ptr);
  
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Non 386 testers REALLY NEEDED

2002-02-06 Thread Julian Elischer


for the set of patches at:
http://www.freebsd.org/~julian/adiff

these patches SHOULD NOT EFFECT your system except to do some
slight re-aranging of stuff in the kernel.

THe aim is to get this committed to 'clarify' the upcoming
KSE commit in http://www.freebsd.org/~julian/thediff

which includes adiff as a subset.

when adiff is committed thediff will become a lot easier for people to 
read and check. I'd like to get adiff in relatively soon.




To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Alfred Perlstein

* Julian Elischer [EMAIL PROTECTED] [020206 12:20] wrote:
 
 for the set of patches at:
 http://www.freebsd.org/~julian/adiff
 
 these patches SHOULD NOT EFFECT your system except to do some
 slight re-aranging of stuff in the kernel.
 
 THe aim is to get this committed to 'clarify' the upcoming
 KSE commit in http://www.freebsd.org/~julian/thediff
 
 which includes adiff as a subset.
 
 when adiff is committed thediff will become a lot easier for people to 
 read and check. I'd like to get adiff in relatively soon.

I commend you on your wait for testers, but I find that after a couple
of days of waiting for them to appear and give decent feedback usually
just committing the code will bring out a horde of involentary testers
which actually gets the code stabilized.

This is current, we're allowed some breakage.  Cross your I's and dot
your T's first though. :-)

-- 
-Alfred Perlstein [[EMAIL PROTECTED]]
'Instead of asking why a piece of software is using 1970s technology,
 start asking why software is ignoring 30 years of accumulated wisdom.'
Tax deductable donations for FreeBSD: http://www.freebsdfoundation.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Wilko Bulte

On Wed, Feb 06, 2002 at 12:32:18PM -0800, Alfred Perlstein wrote:
 * Julian Elischer [EMAIL PROTECTED] [020206 12:20] wrote:
  
  for the set of patches at:
  http://www.freebsd.org/~julian/adiff
  
  these patches SHOULD NOT EFFECT your system except to do some
  slight re-aranging of stuff in the kernel.
  
  THe aim is to get this committed to 'clarify' the upcoming
  KSE commit in http://www.freebsd.org/~julian/thediff
  
  which includes adiff as a subset.
  
  when adiff is committed thediff will become a lot easier for people to 
  read and check. I'd like to get adiff in relatively soon.
 
 I commend you on your wait for testers, but I find that after a couple
 of days of waiting for them to appear and give decent feedback usually
 just committing the code will bring out a horde of involentary testers
 which actually gets the code stabilized.
 
 This is current, we're allowed some breakage.  Cross your I's and dot
 your T's first though. :-)

C'mon guys: it is not so long ago (days..) that the Alpha started
buildworlding -current again. Alpha builds tend to take much
longer (on most people's hardware that is) so a bit of patience
would be nice.

FWIW: I'm trying to get 2 of my Alphas to go to -current again.

W/
-- 
|   / o / /_  _ [EMAIL PROTECTED]
|/|/ / / /(  (_)  Bulte Arnhem, the Netherlands

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Andrew Gallatin


Julian Elischer writes:
  
  for the set of patches at:
  http://www.freebsd.org/~julian/adiff
  
  these patches SHOULD NOT EFFECT your system except to do some
  slight re-aranging of stuff in the kernel.

Today's alpha kernel, plus those changes results in a ksp not valid
halt with the PC near the beginning of mi_startup:

/boot//kernel.bad/kernel data=0x4150c0+0x39360
syms=[0x8+0x62e68+0x8+0x4a36d]
Entering /boot//kernel.bad/kernel at 0xfc33b680...
sio1: gdb debugging port

halted CPU 0

halt code = 2
kernel stack not valid halt
PC = fc47e80c



Since thread0 is no longer a pointer, this looks suspicious in locore.s:

/*
 * Switch to proc0's PCB.
 */
ldq t0,thread0  /* get phys addr of pcb */
ldq a0,TD_MD_PCBPADDR(t0)
SWITCH_CONTEXT



Drew

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Andrew Gallatin


Andrew Gallatin writes:
  
  Since thread0 is no longer a pointer, this looks suspicious in locore.s:
  
  /*
   * Switch to proc0's PCB.
   */
  ldq t0,thread0  /* get phys addr of pcb */
  ldq a0,TD_MD_PCBPADDR(t0)
  SWITCH_CONTEXT

Yeah.. that's it.  I hacked around it by taking thread0's address in
machdep.c, shoving it into a global and using that global in locore.s
The resulting kernel booted.

What's the right way to do this?

Drew

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Mike Barcroft

Wilko Bulte [EMAIL PROTECTED] writes:
 C'mon guys: it is not so long ago (days..) that the Alpha started
 buildworlding -current again. Alpha builds tend to take much
 longer (on most people's hardware that is) so a bit of patience
 would be nice.
 
 FWIW: I'm trying to get 2 of my Alphas to go to -current again.

Running most things compiled with the new binutils on Alpha causes
segfaults.  Be very careful not to install anything compiled with it.
To test KSE on Alpha I recommend locally backing out the new binutils
until David or another developer resolves the issues with it.

Best regards,
Mike Barcroft

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Wilko Bulte

On Wed, Feb 06, 2002 at 06:20:16PM -0500, Mike Barcroft wrote:
 Wilko Bulte [EMAIL PROTECTED] writes:
  C'mon guys: it is not so long ago (days..) that the Alpha started
  buildworlding -current again. Alpha builds tend to take much
  longer (on most people's hardware that is) so a bit of patience
  would be nice.
  
  FWIW: I'm trying to get 2 of my Alphas to go to -current again.
 
 Running most things compiled with the new binutils on Alpha causes
 segfaults.  Be very careful not to install anything compiled with it.

Thanks... it apparantly wasn't my cockpit error then yesterday
nite.. I had to reinstall one of the Alphas to get anything running again.

 To test KSE on Alpha I recommend locally backing out the new binutils
 until David or another developer resolves the issues with it.

-- 
|   / o / /_  _ [EMAIL PROTECTED]
|/|/ / / /(  (_)  Bulte Arnhem, the Netherlands

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Julian Elischer

I don't know the alpha at all but
how about

leaq t0, thread0

or some similar thing

or even..

ldq t0,$thread0

or something similar..
who's assembler is being used?



On Wed, 6 Feb 2002, Andrew Gallatin wrote:

 
 Andrew Gallatin writes:
   
   Since thread0 is no longer a pointer, this looks suspicious in locore.s:
   
   /*
* Switch to proc0's PCB.
*/
   ldq t0,thread0  /* get phys addr of pcb */
   ldq a0,TD_MD_PCBPADDR(t0)
   SWITCH_CONTEXT
 
 Yeah.. that's it.  I hacked around it by taking thread0's address in
 machdep.c, shoving it into a global and using that global in locore.s
 The resulting kernel booted.
 
 What's the right way to do this?
 
 Drew
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Jake Burkholder

Apparently, On Wed, Feb 06, 2002 at 06:17:38PM -0500,
Andrew Gallatin said words to the effect of;

 
 Andrew Gallatin writes:
   
   Since thread0 is no longer a pointer, this looks suspicious in locore.s:
   
   /*
* Switch to proc0's PCB.
*/
   ldq t0,thread0  /* get phys addr of pcb */
   ldq a0,TD_MD_PCBPADDR(t0)
   SWITCH_CONTEXT
 
 Yeah.. that's it.  I hacked around it by taking thread0's address in
 machdep.c, shoving it into a global and using that global in locore.s
 The resulting kernel booted.
 
 What's the right way to do this?

I think you want lda, its used to load an address constant in support.s:

lda t0, fusufault   /* trap faults */

Jake

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Julian Elischer

Ok so since I don't know alpha assembly.
can it be changed to teh address of the thread0 structure?

(I'll bet the same thing needs to be done on the other
architectures)


THANKS!


On Wed, 6 Feb 2002, Andrew Gallatin wrote:

 
 Julian Elischer writes:
   
   for the set of patches at:
   http://www.freebsd.org/~julian/adiff
   
   these patches SHOULD NOT EFFECT your system except to do some
   slight re-aranging of stuff in the kernel.
 
 Today's alpha kernel, plus those changes results in a ksp not valid
 halt with the PC near the beginning of mi_startup:
 
 /boot//kernel.bad/kernel data=0x4150c0+0x39360
 syms=[0x8+0x62e68+0x8+0x4a36d]
 Entering /boot//kernel.bad/kernel at 0xfc33b680...
 sio1: gdb debugging port
 
 halted CPU 0
 
 halt code = 2
 kernel stack not valid halt
 PC = fc47e80c
 
 
 
 Since thread0 is no longer a pointer, this looks suspicious in locore.s:
 
 /*
  * Switch to proc0's PCB.
  */
 ldq t0,thread0  /* get phys addr of pcb */
 ldq a0,TD_MD_PCBPADDR(t0)
 SWITCH_CONTEXT
 
 
 
 Drew
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Andrew Gallatin


Jake Burkholder writes:
   What's the right way to do this?
  
  I think you want lda, its used to load an address constant in support.s:
  
  lda t0, fusufault   /* trap faults */

Bingo!  Thanks.. I haven't done any alpha assembler in nearly a year..

Julian -- you need to add this to your diff:


Index: alpha/alpha/locore.s
===
RCS file: /home/ncvs/src/sys/alpha/alpha/locore.s,v
retrieving revision 1.20
diff -u -r1.20 locore.s
--- alpha/alpha/locore.s11 Dec 2001 23:33:38 -  1.20
+++ alpha/alpha/locore.s7 Feb 2002 01:05:10 -
@@ -119,7 +119,7 @@
/*
 * Switch to proc0's PCB.
 */
-   ldq t0,thread0  /* get phys addr of pcb */
+   lda t0,thread0
ldq a0,TD_MD_PCBPADDR(t0)
SWITCH_CONTEXT
 

Buildworld fails in libkvm with the first diff... I assume
you're aware of this?

/usr/src/lib/libkvm/kvm_proc.c: In function `kvm_proclist':
/usr/src/lib/libkvm/kvm_proc.c:263: structure has no member named `p_thread'
/usr/src/lib/libkvm/kvm_proc.c:264: structure has no member named `p_thread'

...



I'm no seeing a hang when sync'ing disks, but this might just be a
-current'ism.




Cheers,

Drew

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Christian Weisgerber

Wilko Bulte [EMAIL PROTECTED] wrote:

 C'mon guys: it is not so long ago (days..) that the Alpha started
 buildworlding -current again.

I tried, and the new kernel blew up at start-up with an unaligned
access.  GENERIC went farther, but died when /etc/rc redundandly
tried to load the osf1 module.  I didn't report it because I haven't
had time to look at any details.

-- 
Christian naddy Weisgerber  [EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Julian Elischer

THANKS!
(3 down, 2 to go..)


On Wed, 6 Feb 2002, Jake Burkholder wrote:

 Apparently, On Wed, Feb 06, 2002 at 12:01:44PM -0800,
   Julian Elischer said words to the effect of;
 
  
  for the set of patches at:
  http://www.freebsd.org/~julian/adiff
  
  these patches SHOULD NOT EFFECT your system except to do some
  slight re-aranging of stuff in the kernel.
  
  THe aim is to get this committed to 'clarify' the upcoming
  KSE commit in http://www.freebsd.org/~julian/thediff
  
  which includes adiff as a subset.
  
  when adiff is committed thediff will become a lot easier for people to 
  read and check. I'd like to get adiff in relatively soon.
 
 This seems to work fine on sparc64.
 
 Jake
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Terry Lambert

Julian Elischer wrote:
 how about a port that uses the installed sources
 together with some uploaded parts to 'reconstitute' gcj as if it had been
 compiled wit the rest of the system.

FreeBSD does a fairly evil thing: it takes the compiler
source code post-config instead of pre-config.

It's really an incredibly bad idea to import *after* a
config instead of before.

The place to handle this is as an option at config time,
so that the code is built or not built, and in the binary
install case, where overlapping installation targets are
permissable (but not tracked; at least Windows has finally
got this right, where a deinstall of something won't
remove a DLL that was also installed by something else).

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread David O'Brien

On Wed, Feb 06, 2002 at 06:54:22PM -0800, Terry Lambert wrote:
 Julian Elischer wrote:
  how about a port that uses the installed sources
  together with some uploaded parts to 'reconstitute' gcj as if it had been
  compiled wit the rest of the system.
 
 FreeBSD does a fairly evil thing: it takes the compiler
 source code post-config instead of pre-config.

I do not know what this means.  I import [into contrib/] the bits before
'configure' has been run.  I put various bits output by 'configure' in
the build directory (ie, where the bmake Makefile is).

 
 It's really an incredibly bad idea to import *after* a
 config instead of before.

What peice of software have we done this to?

-- 
-- David  ([EMAIL PROTECTED])

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Peter Wemm

Terry Lambert wrote:
 Julian Elischer wrote:
  how about a port that uses the installed sources
  together with some uploaded parts to 'reconstitute' gcj as if it had been
  compiled wit the rest of the system.
 
 FreeBSD does a fairly evil thing: it takes the compiler
 source code post-config instead of pre-config.
 
 It's really an incredibly bad idea to import *after* a
 config instead of before.

Terry, you have no f*cking idea what we do.  The last time this
happened was with gcc-2.6.1 / 2.6.3 about 8 years ago.  We do not import
after a configure.  We import direct from the distributed tarballs.

The following files:
  src/gnu/usr.bin/cc/cc_tools/auto-host.h
  src/gnu/usr.bin/cc/cc_tools/freebsd-native.h
.. are vaguely based on stuff that configure generated and are hand tweaked
to deal with the *freebsd* environment (eg: whether printf supports %p
etc), rather than compiler configuration.  The compiler and language
configuration is done at runtime in the bmake files.  eg:

config.h hconfig.h:
echo '#include auto-host.h'${.TARGET}
echo '#include gansidecl.h'${.TARGET}
echo '#include ${GCC_ARCH}/xm-${GCC_ARCH}.h'   ${.TARGET}
echo '#include hwint.h'${.TARGET}
..
tm.h:
echo '#include ${GCC_ARCH}/${GCC_ARCH}.h'  ${.TARGET}
.if ${GCC_ARCH} == i386
echo '#include ${GCC_ARCH}/att.h'  ${.TARGET}
.endif
echo '#include freebsd.h'  ${.TARGET}
echo '#include dbxelf.h'   ${.TARGET}
.if exists(${GCCDIR}/config/${GCC_ARCH}/elf.h)
echo '#include ${GCC_ARCH}/elf.h'  ${.TARGET}
.endif
echo '#include ${GCC_ARCH}/freebsd.h'  ${.TARGET}
.if ${GCC_ARCH} == i386
echo '#include ${GCC_ARCH}/perform.h'  ${.TARGET}
.endif
echo '#include freebsd-native.h'   ${.TARGET}

About 8 years ago, this stuff was imported as generated by configure.

Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
All of this is for nothing if we don't go to the stars - JMS/B5


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread Peter Wemm

Julian Elischer wrote:
 
 
 On Wed, 6 Feb 2002, Andrew Gallatin wrote:
 
  
  Jake Burkholder writes:
 What's the right way to do this?

I think you want lda, its used to load an address constant in support.s:

lda t0, fusufault   /* trap faults */
  
  Bingo!  Thanks.. I haven't done any alpha assembler in nearly a year..
  
  Julian -- you need to add this to your diff:
  
  
  Index: alpha/alpha/locore.s
  ===
  RCS file: /home/ncvs/src/sys/alpha/alpha/locore.s,v
  retrieving revision 1.20
  diff -u -r1.20 locore.s
  --- alpha/alpha/locore.s11 Dec 2001 23:33:38 -  1.20
  +++ alpha/alpha/locore.s7 Feb 2002 01:05:10 -
  @@ -119,7 +119,7 @@
  /*
   * Switch to proc0's PCB.
   */
  -   ldq t0,thread0  /* get phys addr of pcb */
  +   lda t0,thread0
  ldq a0,TD_MD_PCBPADDR(t0)
  SWITCH_CONTEXT
 
 Included.. thanks.
 
   
  
  Buildworld fails in libkvm with the first diff... I assume
 
 THe following code is also wrong then..
 
 alloc   r16=ar.pfs,0,0,1,0
 ;;
 movlout0=thread0
 ;;
 ld8 out0=[out0]
 ;;
 add out0=TD_PCB,out0
 in ia64/ia64/locore.s
 
 
 
 anyone know the correct instruction?
 leal  out0=thread0  ?


Just delete the following:
ld8 out0=[out0]
;;

The movl out0=thread0 instruction gets the constant address of thread0
into the out0- register.  The ld8 out0=[out0] instruction dereferenced
it (which we want to stop), and the third add out0=TD_PCB,out0 calculated
an offset within the thread0 struct.

ie: get rid of the deref.

Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
All of this is for nothing if we don't go to the stars - JMS/B5


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Non 386 testers REALLY NEEDED

2002-02-06 Thread John Baldwin


On 06-Feb-02 Andrew Gallatin wrote:
 
 Andrew Gallatin writes:
   
   Since thread0 is no longer a pointer, this looks suspicious in locore.s:
   
   /*
* Switch to proc0's PCB.
*/
   ldq t0,thread0  /* get phys addr of pcb */
   ldq a0,TD_MD_PCBPADDR(t0)
   SWITCH_CONTEXT
 
 Yeah.. that's it.  I hacked around it by taking thread0's address in
 machdep.c, shoving it into a global and using that global in locore.s
 The resulting kernel booted.
 
 What's the right way to do this?

lda t0,thread0 maybe?

 Drew

-- 

John Baldwin [EMAIL PROTECTED]http://www.FreeBSD.org/~jhb/
Power Users Use the Power to Serve!  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message