Re: Non 386 testers REALLY NEEDED
* 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
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
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
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
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
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
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
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
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
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
--=-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
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
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
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
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
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
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
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
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
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
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
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
* 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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