Re: Unfortunate dynamic linking for everything

2003-11-23 Thread Thomas David Rivers
  So far, I haven't seen anyone in this thread seriously
  argue against either of these points.
 
 I'll seriously argue against the 2nd point above.  I don't know of a
 SINGLE person that uses /bin/sh as their interactive shell when
 multi-user.  Not ONE.  Every Bourne shell'ish user I've ever met uses
 Bash, ATT ksh, pdksh, zsh.
 

 I'm one...

 I have to operate on many disparate systems with the
 same home directory some of the bourne-shell variants
 (e.g. HP/UX's ksh) will lock-up on my simple bourne-shell .profile.

 So - I stick with the plain/old/boring sh.

- Dave R. -

--
[EMAIL PROTECTED]Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Final fix for correlation problem (was Re: rand() is broken)

2003-02-03 Thread Thomas David Rivers
I'm afraid I don't understand the fix... and how it
seems to affect the historical behaviour of srand()/rand().

How does it address the understanding that if I use
srand(28), I will get exactly the same sequence of
numbers srand(28) produced yesterday, last week, 
last year?

I have worked with programs that depend on exactly
that behavior.

That is,  given the same input seed - I expect
to see the same random sequence again.  

This requirement would seem to indicate that changing
srand()/rand() isn't really possible...  And, also,
I believe, why random() was introduced...

Please, oh please, don't change that behavior in 
srand()/rand().

- Dave Rivers -

--
[EMAIL PROTECTED]Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com

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



Re: I've just had a massive file system crash

2003-01-24 Thread Thomas David Rivers
Greg Lehey [EMAIL PROTECTED] wrote:
 It has
 three file systems, one of which came up dirty.  fsck -y reported
 thousands of errors, and when it was finished, my home directory and
 some other files were gone, and all the subdirectories of my home
 directory were in lost+found, a total of 1.4 GB.  Most of the errors
 appear to be duplicate Inode numbers.
 

 Don't be too hasty to blame UFS.

 Everytime this has happened to me (even on Linux) it has been
 because the disk drive was failing.  It has happened to me
 *many* times with IDE drives.   I wind up replacing about 1/4
 of them every year, on average.   But, I did go through
 a run of those bad IBM drives :-)

 Did you happen to drop the laptop? :-)

- Dave Rivers -

--
[EMAIL PROTECTED]Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com



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



Re: gcc 3.2.1 optimization bug ?

2002-11-11 Thread Thomas David Rivers
 
 For the source code below, compiling gcc -O2/-O3 seem to produce
 incorrect code.
 
 ---
 #include stdio.h
 int main(int argc, char* argv[])
 {
 unsigned int x = 0x12345678;
 unsigned short tmp;
 printf(%x\n, x);
 tmp = ((unsigned short *)x)[0];
 ((unsigned short *)x)[0] = ((unsigned short *)x)[1];
 ((unsigned short *)x)[1] = tmp;
 printf(%x\n, x);
 return 0;
 }
 ---
 



 Several people have pointed out that using volatile will
 help with your code.

 But - even with the use of volatile - your code is invalid ANSI
 C.

 You are doing something called type punning - which is illegal.

 Basically, you can't reference a datum via a different type
 and expect it to do anything meaningful.  

 When you take x, you have and (unsigned int *) type.  When you
 then cast that to an (unsigned short *) and then dereference it,
 you are referencing the datum 'x' via a different type.

 (consider, for example, a situation where `unsigned short' had
 the same alignment requirements as `unsigned int', your example
 would not address what you were thinking...)

 The C99 standard relaxed this rule somewhat, allowing (char *)
 pointers to be used to reference any datum.  So, you could
 use memcpy() to accomplish what you're looking for, as in:

unsigned short array[2];

memcpy(array, x, sizeof(array));

 but - while valid, that also suffers from several issues...

 Your code appears to simply want to swap the two (assumed) words in
 an integer.  That could be accomplished with shifts, etc...
 This code makes all kinds of assumptions about the size of
 `int' and `short' - but represents an alternative approach:

unsigned int t;
unsigned int x;

t = (x  0x)  16;
x = 16;
x |= t;

 Assuming `int' was 32-bits wide - this, or something similar,
 might be a more portable approach.
 

- Dave Rivers -

--
[EMAIL PROTECTED]Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com

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



Re: gcc 3.2.1 optimization bug ?

2002-11-11 Thread Thomas David Rivers
Harti Brandt [EMAIL PROTECTED] wrote:
 
 Well, I just had a long discussion with a collegue about the topic. The
 main problem is in the ISO-C standard, section 6.7 point 4 which states:
 
 All declarations in the same scope that refer to the same object or
 function shall specify compatible types.
 
 This makes any fiddeling with a pointer of a type, that is different from
 the type of the variable illegal. It also makes fiddeling with unions and
 structs illegal. As far as I understand types are compatible when they
 have the same type and type qualifiers. Structs are partly compatible when
 they start with fields of the same type. So the only way to legally swap
 integer values of any size is via arithmetic. Of course unions and
 pointers may work with the given compiler version and optimisation level.
 But, nothing in the standard guarantees you anything.

 That's it exactly!

 
 It may be possible that 6.5 (7) the last sentence allows you to access your
 32-bit or 64-bit value character-wise (although I'm not sure).
 
 harti
 

The C99 standard does seem to add an exception for access via
character pointers.  The C89 standard did not have that clause.

As far as the union question - the answer is that you cannot
read from a union from a different member than it was stored
to.

For example:

   char ch;
   union {
  int x;
  char c;
   } my_union;

  my_union.x = 10;
  ch = my_union.c;

Technically, this is illegal in ANSI C, and not guaranteed to work.  Although 
it will likely work in just about every reasonable environment.
(For some definition of work :-) )

- Dave Rivers -

--
[EMAIL PROTECTED]Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com


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



Re: gcc 3.2.1 optimization bug ?

2002-11-11 Thread Thomas David Rivers
Harti Brandt [EMAIL PROTECTED] wrote:
 
 
 Hmm, I though the following would work:
 
 void
 foo(unsigned short *s)
 {
   unsigned short temp;
 
   temp = s[0];
   s[0] = s[1];
   s[1] = temp;
 }
 
 main()
 {
   int i = 0x12345678;
 
   foo(i);
   printf(%08x\n, i);
 }
 
 because how would the compiler in main() know, that you do something wrong
 in foo(). But... if you compile this with -O5, it does not work! This is
 because the compiler inlines foo() into main and the program prints junk like
 0x12342804.


 Nope - that doesn't work either.  The call to foo() is not compatible
 with the prototype (in fact, the Systems/C compiler issues a warning
 on this:  

Warning #2034: passing argument 1 from incompatible pointer type

 I believe gcc would as well.

- Dave Rivers -

--
[EMAIL PROTECTED]Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com

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



Re: gcc 3.2.1 optimization bug ?

2002-11-11 Thread Thomas David Rivers
Harti Brandt [EMAIL PROTECTED] wrote:
 
 Yes, of course, but one would assume it to work (I suppose there is a
 large amount of code that assumes it will work). 

 Not a safe assumption at all.  For example, what if the alignment
 requirements for `short' and `int' are different (as they frequently
 are.)  Then, dereferencing one type via another type will likely
 blow-up.  (This is often the case on a SPARC platform when
 dereferencing `int *' pointers from `char' data.)

 ANSI requires that a diagnostic be generated in this case, there
 are some compilers in the world that make this a strict error.

 I just tried to give a counter example to your hope, that every sane
 compiler would do the right thing with using a union for casting. I would
 also assume that every sane compiler would do the right thing for the
 above code.

 The compiler does what it can - but it doesn't mean the code
 will work.  So - the best the compiler can do is say Hey!  You've
 done something that might not work, but we're going to keep going
 anyway.

 
 IMHO, the C-standard is broken with regard to the rules for type
 compatibility. As far as I remember these rules came into the standard
 from one or two well-known PC compiler vendors that wanted to allow very
 aggressive optimisation to show good benchmark results. The 'restrict'
 keyword seems to be also an outcome of this.

 I believe the rules were motivated by two things.  The need
 for optimizations as you point out.  Without the type-punning
 rule, a decent optimizer has to assume everything is aliased
 at every pointer dereference, which denies many nice optimizations.

 The second is the reality of common hardware in the world (e.g. SPARC)
 where doing this is quite dangerous.

- Dave Rivers -

--
[EMAIL PROTECTED]Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com


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



Re: aout support broken in gcc3

2002-09-04 Thread Thomas David Rivers

Terry Lambert [EMAIL PROTECTED] wrote:
 
 Bruce Evans wrote:
  Isn't this too old and security-holed to use?  It stopped being packaged a
  few releases ago.  4.5R has mainly:
  
  /usr/local/lib/netscape-linux/communicator-linux-4.79.bin: ELF 32-bit LSB 
executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), 
stripped
  
  and mozilla.
 
 I personally use the FreeBSD native Netscape.

 I'd like to as well - but I found that with version 4.5 and
 later (the move to XFree86 4.x) that the FreeBSD Netscape
 refused to run.

 There is a rather long discussion of what I found in the
 -stable archives I believe...

- Dave R. -

--
[EMAIL PROTECTED]Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com

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



Re: PATCH: wchar_t is already defined in libstd++

2002-06-18 Thread Thomas David Rivers

David O'Brien [EMAIL PROTECTED] wrote:
 
 On Mon, Jun 17, 2002 at 06:16:45PM -0400, Garrett Wollman wrote:
  On Mon, 17 Jun 2002 18:02:17 -0400 (EDT), Thomas David Rivers 
[EMAIL PROTECTED] said:
  
 The correct approach (and, I have to admit to not
glancing at your patch) would be:
  
  #ifndef __cplusplus
  typedef _BSD_WCHAR_T_   wchar_t
  #endif
  
  Actually, the correct approach would be to avoid defining
  _BSD_WCHAR_T_ when compiling C++.  This way, it only needs to be done
 
 I am much more likely to force the libstdc++ build to use our
 _BSD_WCHAR_T_.  Our types should be centralized and not in some hidden
 vendor software that often makes wrong assumptions about us.

 I accidently sent a reply to just David, so please forgive
 the duplicate.

 I think there is a misunderstanding here...

 It's not that the vendor software has hidden the definition
 of `wchar_t'.  The C++ standard mandates that `wchar_t' be
 a builtin type, just like `int'.  

 This is so function overloading can distinguish based on the
 `wchar_t' type.

 That is, these would be two *different* functions in a standard-
 conforming implementation:

void
foo(unsigned int)
{
}

void
foo(wchar_t) 
{
}

 If `wchar_t' is simply a typedef provided by the headers,
 then the implementation isn't C++ standard conforming.
 Also note that the source above is C++ standard conforming,
 you don't need to #include anything to get the definition
 of `wchar_t'.

 gcc v3.x finally gets this correct - and we have to adjust
 the headers to no longer define a typedef for wchar_t
 in this situation.

 This is not a situation of gcc being wrong - it's the 
 opposite - gcc is getting closer to right :-)

- Dave Rivers -

--
[EMAIL PROTECTED]Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com

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



Re: Sony Vaio, LinkSys EC2T 5.0-CURRENT ...

2002-06-01 Thread Thomas David Rivers


Marc G. Fournier [EMAIL PROTECTED] wrote:
 Morning all ...
 
   After getting nowhere with the Surecom EP-428X that I picked up, I
 went out today and grabbed one of the Linksys EC2T, figuring it's on the
 list of supported devices I found, and I think I'm s close ...
 
   First, I'm running a VAIO PCG-Z505S ... I've upgraded to
 5.0-CURRENT as of May 21st, mainly due to the Surecom, but figure I'll
 stay there for the Linksys ...
 
   If I run 'pccardd -f /etc/defaults/pccard.conf' from the command
 line, it comes back that its matched the card, followed by a line that
 states:
 
   'driver allocation failed for Linksys(...): Inappropriate ioctl
for device'
 
   According to dmesg, I have:
 
 pcic0: Ricoh RL5C475 PCI-Cardbus Bridge irq 9 at device 10.0 on pci0
 pcic0: PCI Memory allocated: 0x4400
 pccard0: PC Card bus (classic) on pcic0
 
   If I pull out the card, the machine itself hangs ... and searching
 on Google, it talks about pccard + shared interrupts ... and on this, the
 internal ethernet (fxp0) is using irq 9 and the USB controller (uhci0) is
 using irq 9 ...
 
   So, I'm pretty much at an impasse right now as to what to try next
 ... does anyone have an experiences with this combination and/or
 suggestions on what to try next ... ?
 
 Thanks ...

   I'm having similar problems with a Sony VAIO F480 and 4.5-RELEASE.
(see my postings on the -stable list.) (Same Ricoh RL5C475 chip.)

   No suggestions at the moment... Warner Losh has the idea that
some interrupt is being masked, an interrupt that probably shouldn't
be.

- Dave Rivers -

--
[EMAIL PROTECTED]Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com

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



Re: moused(8): char signed-ness problem with gcc 3.1

2002-05-16 Thread Thomas David Rivers


Terry Lambert [EMAIL PROTECTED] wrote:

 Thomas David Rivers wrote:
   Well - it's not counter-intuitive on many machines... For example,
   on the IBM mainframe - there is an instruction to load a character
   into a register - but not one that loads *and* sign-extends. So,
   you can get much better code if characters are unsigned by default.
 
 Sounds like time to get out the wire wrap tools... and fix the
 hardware, not the software.

 Ha!  That may not be a bad idea :-)

 
   So in our C/C++ compilers for the mainframe, the default is
   unsigned as well.
  
   I wonder if the AIX people were looking for mainframe
   compatibility in this decision, or was it motivated
   by the PowerPC instruction set?  Does anyone know what
   the Mac default is (since they are PowerPC based as well?)
 
 RS/6000's didn't used to use PPC processors at all; so it's
 probably intentional software compatability.

 I'm confused then - the one we have here seems to.  There
 was a version of something very RS/6000-like that didn't,
 but I thought RS/6000s did...

- Dave Rivers -

--
[EMAIL PROTECTED]Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com

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



Re: moused(8): char signed-ness problem with gcc 3.1

2002-05-15 Thread Thomas David Rivers

 
 I observed gcc 2.95.4 and gcc 3.1 interpret (or maybe optimize) the
 following code differently (CFLAGS=-O):
 
 int main(void)
 {
   unsigned char i = 127;
   printf(%d\n, ((char)(i  1)) / 2);
   return 0;
 }
 
 gcc 2.95.4 says it's -1, whereas gcc 3.1 says it's 127.  On FreeBSD
 char should be signed, so I suspect it's a (optimization) bug of gcc
 3.1 which should be fixed.  Or we'll have to do a mass audit of the
 whole src tree to check and fix the similar expressions.

 Let's examine the what the right answer should be:

 First - in the expression (i  1) - the unsigned char `i' will
 be promoted to a signed int through the correct integral promotion
 rules, then left-shifted 1 bit.  The result of that is an int.

 So - this becomes:

((char)(254)) / 2 ;

 The expression:
(char)(254) 
 is then also promoted to int when it participates
 in the division operation.  So, the value 254 is
 converted into a (signed) char, and then converted
 to an int.   Converting 254 to a signed character
 should result in an integer value of -2.

 Then, -2 / 2 becomes -1.

 If characters were unsigned by default, you do
 get the value 127...

 So - yes - it seems gcc 3.1 does have a problem...

- Dave Rivers -

--
[EMAIL PROTECTED]Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com

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



Re: moused(8): char signed-ness problem with gcc 3.1

2002-05-15 Thread Thomas David Rivers

Terry Lambert [EMAIL PROTECTED] wrote:
 
 Bill Fenner wrote:
  gcc 3.1 simply defaults to unsigned chars.  127  1 = 254; 254 / 2 = 127.
  
  My machine is too slow to test this expeditiously, but I'm trying
  adding #define DEFAULT_SIGNED_CHAR 1 into freebsd-native.h .
 
 I will bet today's lunch money that you have found it for sure.
 
 I guess we will have to go around adding signed everywhere, if
 it's no longer the default.
 
 Unsigned is a stupid, counter-intuitive default, and has been,
 ever since I first used AIX.
 
 My bet is a conspiracy by AIX folks so that Open Source software
 will work on AIX without them having to fix their stupid defaults.
 
 8-) 8-).


 Well - it's not counter-intuitive on many machines... For example,
 on the IBM mainframe - there is an instruction to load a character
 into a register - but not one that loads *and* sign-extends. So,
 you can get much better code if characters are unsigned by default.

 So in our C/C++ compilers for the mainframe, the default is
 unsigned as well.

 I wonder if the AIX people were looking for mainframe
 compatibility in this decision, or was it motivated
 by the PowerPC instruction set?  Does anyone know what
 the Mac default is (since they are PowerPC based as well?)

- Dave Rivers -

--
[EMAIL PROTECTED]Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com

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



Re: HEADS UP: installworld gotchas

2001-02-12 Thread Thomas David Rivers


On Sun, 11 Feb 2001, Peter Wemm wrote:
 Matt Dillon wrote:
  
  :   
  :   This is a major change to libc.  The library maj must be bumped if you
  :   intend to change the sizeof(FILE), or every single third party applicatio
 n
  :   that uses stdio will break.
  :
  :   -Matt
  
  Oh wait, is libc already bumped in current verses 4.2?  If so then I gues
 s
  we don't bump libc's maj.  God help anyone using current though!
  
  -Matt
 
 
 I cant help but wonder why on earth we didn't have it like this from the
 start:
[...]
 That compiles fine. The __stdin thing is in case somebody likes the idea
 of #undef stdin or #ifdef stdin for some reason.
 
 In fact, I can't imagine *any* reason not to do this. At least this would
 insulate us from future nasties in FILE size changes, and would have
 saved us in this case.

Wouldn't this change/break code like the following?

main()
{
   FILE **fp;

   fp = stdin;

   my_func(fp);
}

That is, previously stdin would work...   in this new situation,
you would get __stdin which is not the same... is it?


- Dave Rivers -





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



Re: interesting problem

2000-09-28 Thread Thomas David Rivers

Alfred Perlstein [EMAIL PROTECTED] wrote:
 
 * Tony Johnson [EMAIL PROTECTED] [000927 18:26] wrote:
  OK
  Well Here is the issue.  If I put in the 2 boot floppies I get a page fault
  12 after I press Q for "quit" on the visual kernel config.  If I can save a
  crash dump before any FS's are mounted or even before I tell FBSD where to
  put the crash dump, I'd really like to know this...   I'd like to read a
  handbook page on thisb since some people think I just haven't read it.
  
  At this point in an install, if you could tell me (and the rest of the
  FreeBSD users) where I could get the boot floppies to save a crash dump
  (because I haven't even gotten this far) then I would appreciate this amd be
  more then happy to substantiate this by sending you a crash dump.
 
 Do you realize how much developer time you're wasting by thrashing
 around cluelessly on the list demanding help?
 
 Here's a clue:
 
 Forget about your damn irq problem, boot with the disks installed,
 then read section of the handbook about crashdumps, compile a debug
 kernel and figure out what the problem is.  Fix it and send us a
 patch.
 
 Or you could simply run -stable.

 Alfred,

   Just playing `devils advocate' here.  But, in some initial
 install situations, exactly how is the user, even the most 
 knowledgeable one, supposed to do much of anything if the 
 install itself doesn't work?  Not too much chance of building 
 a kernel, getting a crashdump, etc...

   Although it may be something we want to put off for awhile,
 being able to gather debugging information during a failed
 install would be rather nice.  I'm not sure how this could 
 happen; perhaps a crashdump to an MSDOS file system (if available)?
 Or, straight to a partition with some recovery program that
 reads the dump?  Or, over a serial line?  [Just tossing out ideas.]
 Maybe ficl can get involved and manage this?

   I would keep this as one of those "maybe nice to have in the
 ideal future" ideas - but it's something to ponder...

- Dave Rivers -

--
[EMAIL PROTECTED] Work: (919) 676-0847
Get your mainframe (370) `C' compiler at http://www.dignus.com


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



Re: VMWare on -current, how fast should I expect it to be?

2000-09-12 Thread Thomas David Rivers


Julian Elischer ([EMAIL PROTECTED]) wrote:
 
 Nik Clayton wrote:
  
  Hi guys,
  
  For those of you running VMWare (2) on -current, how fast do you expect it to
  be?
  
  I'm running it quite successfully on a 750MHz PIII w/ 128MB RAM, and the
  following disk controller / disk
  
  atapci0: Intel PIIX4 ATA33 controller port 0xfc90-0xfc9f at device 7.1 on 
pci0
  ata0: at 0x1f0 irq 14 on atapci0
  ata1: at 0x170 irq 15 on atapci0
  ad0: 17301MB FUJITSU MHJ2181AT [35152/16/63] at ata0-master using UDMA33
  
  This is -current from about three weeks ago.  It works, but it's a bit slow.
  Applications themselves run at a reasonable speed, but every now and then
  (can be as frequent as 10-15 seconds)
 
 use only virtual disks and see if it still happens.
 I found (on vmware 1) that using the raw disks was a recipe for
 poor performance. Since we don't have block devices any more,
 we are screwed in this regard. Virtual disks (files) are however
 buffered and so can sometimes work faster.
 

 I'm confused...

 I thought one of the justifications for removing the block devices
 was "look - Linux doesn't have any."

 So, if Vmware runs on Linux, and Linux doesn't have any block devices,
 why would Vmware need block devices?

 [Of course, I'm speaking in absence of knowledge - does Linux have/not
 have block devices?]

- Dave Rivers -

--
[EMAIL PROTECTED] Work: (919) 676-0847
Get your mainframe (370) `C' compiler at http://www.dignus.com



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



Re: netscape

2000-09-08 Thread Thomas David Rivers

 
 Hi,
 I have installed netscape4-navigator and I can't launch its.
 I've got following message:
 
 ld.so failed: Can't find shared library "libXt.so.6.0"
 
 What can I do?
 Piotr Wozniak

 You need to install the XFree86 a.out library package.  It's
 in the packages directory from the 4.1-RELEASE.. I bet there's
 something there for -current as well.

- Dave Rivers -

--
[EMAIL PROTECTED] Work: (919) 676-0847
Get your mainframe (370) `C' compiler at http://www.dignus.com


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



AFS.

2000-08-30 Thread Thomas David Rivers



Just F.Y.I

 I understand that, today, IBM is announcing it will open-source
AFS via the IBM Public Source license..

 Some quotes I've seen:

"IBM announced today the open source contribution of a high-performance file
system technology and talent to strengthen collaboration in the enterprise."

"The contribution of AFS Enterprise File System gives the community a remote
file system with a proven track record that features high performance and
scalability in rigorous computing environments. AFS is designed to protect
data access by authenticating users, providing a very secure, easily
manageable working environment that supports a wide variety of operating
platforms, including Linux."

"IBM will actively work with the open source community to extend AFS
development. In September, 2000 the source code for AFS will be available
through the IBM Public Source License..."


  Might be interesting

- Dave Rivers -

--
[EMAIL PROTECTED] Work: (919) 676-0847
Get your mainframe (370) `C' compiler at http://www.dignus.com



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



Re: HEADS UP: Destabilization due to SMP development

2000-06-20 Thread Thomas David Rivers

 
 What about doing the changes on a branch with the understanding that 
 the branch will *replace* HEAD when it stabilises ?
 
 This sounds odd at first glance, but it means that others are forced 
 to MFC into the smp branch - if they don't they lose.
 
 Anybody that's not confident to be able to merge into the smp branch 
 will simply be in the same position - merge or hold off.  They'd also 
 be just as likely to break the smp work with their commits as if the 
 smp work was done in HEAD.
 

 Isn't this the same thing as breaking the head and keeping every thing
else (that is the pre-broken 5.0) on a branch...

 Just sorta rotating the tree a little...

 And, isn't this the same idea as -stable?

 If that's all true - I'd suggest that those who really want stability
might be better served with the -stable branch for the interim.  If you
need a totally-brand-new-feature, then MFC that to -stable and get 
it there...

 The point of -current is to be breakable - the extent of the breaking
isn't known ahead of time. -current can be broken for a long time by
simply breaking several small things - say, one a day for several months.

 The difference here seems to be the forethought in the announcement;
which I take as good planning... i.e. instead of being broken for
some unknown reasons, we're simply saying that we know it's broken...
If you can't live with a broken situation, then I humbly suggest staying
with -stable.

 I suppose I can sum this up with "isn't this already handled?"

- Dave Rivers -

--
[EMAIL PROTECTED] Work: (919) 676-0847
Get your mainframe (370) `C' compiler at http://www.dignus.com


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



Re: db 1.85 -- 2.x or 3.x?

2000-05-02 Thread Thomas David Rivers

 
 Brad Knowles wrote:
  
  At 10:00 AM -0500 2000/5/2, Dan Nelson wrote:
  
.. means that a user that wanted to use FreeBSD in a commercial
application would not be able to simply sell his product; he would have
to get a license from Sleepycat.
  
 
 I asked the Keith about this and he said it was wrong..
 (to my memory).
 
 I recall he said that as it would be grandfathered into freeBSD,
 (because we had 1.x already) and
 that anyone running  their software under freeBSD could do so 
 without added licencing, because it was already present on the
 platform.

 Ah - but that's "running under FreeBSD" - what about taking
 the FreeBSD source and using it in a different product...

 Just what does "running under FreeBSD" mean, anyway?

 If I sell a black box and use FreeBSD as the internal OS, but
 don't call it FreeBSD - is it "running under FreeBSD?"

 What if, for example, what if a product came together that
 was the Linux kernel with the FreeBSD command set?  Is that
 "running under FreeBSD?"  Would you be forced to send out
 your complete sources in that event?

 This is where the license issues are...

- Dave Rivers -



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



Re: MLEN and crashes

2000-04-14 Thread Thomas David Rivers

Peter Jeremy [EMAIL PROTECTED] wrote:
 
 On  3/04, John Polstra wrote:
 [don't allocate big structs on kernel stack]
 
 Many years ago, I wrote a tool that analysed stack requirements by
 parsing the assembler output from the compiler.  It determined the
 stack frame requirements and built a call flow graph to determine
 total stack depth.  It had some hooks to allow indirect function
 calls to be specified manually.  It couldn't handle alloca() (and
 equivalents), but they were forbidden by the design standards.

 Just wondering...

 How did you address recursive functions, or were they also forbidden
 by design standards?

- Dave Rivers -



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



Re: Panic (ffs) #2

2000-02-22 Thread Thomas David Rivers

 
 And here we are again.
 
 This time on another disk:
 
 dev = #amrd/0x20004, block = 2048, fs = /news/spool
 panic: ffs_blkfree: freeing free block
 Debugger("panic")
 Stopped at  Debugger+0x35:  movb$0,in_Debugger.372
 db trace
 Debugger(c01e7ee3) at Debugger+0x35
 panic(c01f27e0,c01f27c0,c1ccc894,800,c1d0d0d4) at panic+0x70
 ffs_blkfree(c1db6d00,800,2000,0,d98cfe44) at ffs_blkfree+0x1dd


 Aha!  The Dave Rivers' memorial panic rears its ugly head!

 This is exactly the panic's I reported years ago; but we've never
 been able to track down... [Even the same block number I believe]

 You may want to scan the archives to read more about my investigations;
 which never went anywhere... (sigh)  I describe a way to reproduce
 it on some versions of FreeBSD, you might want to see if you can
 get a reliable reproduction, etc...

- Dave Rivers - 





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



Re: Vmware and -current

1999-12-24 Thread Thomas David Rivers

 seems to work fine,
 except that now we don't have block devices any more 
 so every time it gets stuff off disk, it's REALLY SLOW.
 
 I guess a virtual machine is the "App that no-one could put their finger
 on" that really could do with buffered (caching) devices.

Hmmm I wonder what it would take to bring them (block devices) back... 
probably out of the question at this point...

 
 of course this is w98.
 FreeBSD 1.1.5 and freebsd 3.3 seem run as well but I've only run them off
 virtual disks (which therefore have buffering)
 

 - Dave Rivers -


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



Re: cc taking a signal 11

1999-12-20 Thread Thomas David Rivers

 
 Hi,
 
While I'm at it, a co-worker gave this one to me earlier today.
 
cc: Internal compiler error: program cc1 got fatal signal 11
 
4.0-CURRENT FreeBSD 4.0-CURRENT #0: Mon Dec 20 01:45:25 EST 1999
 
 
 
 FreeBSD(root)/tmp %cc -v
 Using builtin specs.
 gcc version 2.95.2 19991024 (release)
 
 FreeBSD(root)/tmp %cc -O foo.c -o foo.o -c
 cc: Internal compiler error: program cc1 got fatal signal 11
 
 
 
 static void getsig11(parfree,dbl,lambda)
  long parfree;
  double *dbl;
  double *lambda;
 {
 long i, j;
 j = -1;
 for(i = 0; i  parfree; i++)  {
j += i+1;
dbl[j] *= (1.0 + *lambda);
}
 return;
 }
 
 
Yes, the algorithm looks funny, but is correct. The program will
 compile correctly if the 'j += i+1;' is changed to 'j = i+1;' or if
 the variable 'lambda' is changed from a pointer to an actual value.
 
Anyone want to take a stab at this? I'm not a big compiler
 person myself... (Dave, you there?).

  Yes - I'm here :-)

  Typically - signal 11 problems from GNU's front-end are hardware 
 memory issues

  I will add that a quick test on a 3.3 system compiles this just
 fine (Systems/C compiles it as well.)

  I would suspect hardware problems first.

  As I have learned from painful experience, *always* use ECC or at least
 parity memory...

- Dave R. -



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



Re: cc taking a signal 11

1999-12-20 Thread Thomas David Rivers

 
Nawww... I've tried this on a bunch of different machines.. as a matter
 of fact it replicates with gcc version 2.7.2.1 from December of last
 year.  I find it hard to believe that I have 80 machines that all
 exhibit the exact same memory failure... :-)
 
 -John
 
 
 

 Yep - others have reported the problem is gcc...

 I'd suggest taking this up with Cygnus (http://www.cygnus.com)

- Dave R. -


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



Re: sysinstall: is it really at the end of its lifecycle?

1999-12-15 Thread Thomas David Rivers

Adam Strohl [EMAIL PROTECTED] wrote:
 On Wed, 15 Dec 1999, Daniel C. Sobral wrote:
 
  Hey, I like CUI. I'd rather install with a CUI than a GUI, all other
  things being equal. And besides some quirks here and there, I really
  like sysinstall.
 
 Its nice, but its not where it should be. 
 
  But the fact is that when we get featured in a magazine article,
  user-friendly install == GUI. No GUI, it's not an user-friendly install.
  End of review. You can kick and scream all you want, that's the way it
  is. Either we live by these rules, or we loose.
 
 A VESA GUI based sysinstall replacement would probably be small enough to
 fit on a floppy, yet still have the friendlyness that a new user/reviewer
 would look for.
 
 If we follow jkh's outline, making another "front end target" for the
 script shouldn't be that hard.  You have X, VESA Syscons, and Text
 Syscons.
 
 The script says "ok, prompt user for blah", under X it opens a window,
 under Text some ASCII dialog, and under VESA a little window.
 

 This is important to note...   25% of all the installs I do are
on MGA (remember monochrome graphics adapter - a hercules card.)
So, I would not be in favor of any replacement that required a VESA
or VGA platform...

- Dave Rivers -



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



Re: syscons extension: propellers

1999-12-14 Thread Thomas David Rivers

 
 One potential drawback is that it would probably bloat the
 syscons code slightly.
 
 - Donn
 

 Uhh... "slightly"?

- Dave R. -



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



Re: HEADSUP: wd driver will be retired!

1999-12-09 Thread Thomas David Rivers

 
 In message [EMAIL PROTECTED] Julian 
Elischer writes:
 : more importantly we lost the aha driver for a while.
 
 No we didn't.  Well, the aha driver did loose support for the 1542A
 cards, but the aha driver was done so that cam could be committed to
 the tree.  Maybe you are confusing things with the aic driver?
 
 Also, the cam uha driver hasn't gotten past the cp aha - query
 replace aha with uha stage...
 
 Warner
 

 I lost support on my 1542B until I came up with a patch, which
I believe was incorporated into 3.3-R.

- Dave R. -


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



Re: Now that sigcontext is gone ...

1999-10-02 Thread Thomas David Rivers

 
  Just how much code will break?
 
 Boehm-gc, maybe.  Modula-3, maybe.  I can't remember whether it
 catches both signals or just SIGBUS.

 I believe electric-fence would change as well.

- Dave R. -


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



Re: ATTENTION PLEASE: g77 in base system.

1999-04-09 Thread Thomas David Rivers
Marc G. Fournier wrote:

 On Thu, 8 Apr 1999, Brian Handy wrote:
 
  On 9 Apr 1999, Dag-Erling Smorgrav wrote:
  
   [4 people said YES!  Add g77!]
  
  I beg your pardon? You're adding g77 to the system because you know of
  four people who would find it useful? Where's the logic in that?
  
  Well, statistically speaking, that's a bunch of ayes and no noes.
  Lots of things happen via implicit acceptance.  (I was one of the people
  who spoke up in favor of this after David mentioned this.)
  
  If you do add it to the base system, make it optional. I don't care if
  it defaults to on, as long as I have the option to turn it off.
  
  This doesn't seem unreasonable.  (I also really like Chuck's idea of
  adding gcj in the same light.)
 
 Geez, and I used to think it was only the commercial OSs that had a
 problem with bloat and creeping featurisms ... :(  Chuck's idea makes more
 sense...how many programs does the average system run that needs a fortran
 compiler? *raised eyebrow*

 Personally, I'm not sure g77 is needed, but let me play devil's
advocate here and turn your question around:

How many programs does the average system not run because
 the system doesn't have a FORTRAN compiler?

That seems to be a more pertinent question...  and - a good bit
more difficult to answer.

- Dave Rivers -

(My personal preference is to put it in there, with an option to disable 
 it in make world. )



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message