Re: HEADS UP: installworld gotchas

2001-02-13 Thread Garrett Wollman

< said:

> That is (1) against Handbook documented policy, (2) too hackish (we
> aren't Linux).
 
And who came up with that policy in the first place?

-GAWollman



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 Bruce Evans

On Mon, 12 Feb 2001, David O'Brien wrote:

> On Mon, Feb 12, 2001 at 11:47:04AM -0500, Garrett Wollman wrote:
> > However, this may turn out to be so painful that we need to bump it
> > again.
> 
> That is (1) against Handbook documented policy, (2) too hackish (we
> aren't Linux).

It's not bumping it that is hackish.

Bruce



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 David O'Brien

On Mon, Feb 12, 2001 at 11:47:04AM -0500, Garrett Wollman wrote:
> However, this may turn out to be so painful that we need to bump it
> again.

That is (1) against Handbook documented policy, (2) too hackish (we
aren't Linux).
 


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 David O'Brien

On Sun, Feb 11, 2001 at 04:44:21PM -0800, 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 application
>that uses stdio will break.

For -stable this would be true.  We've already done the bump in -current.
-current users are expected to be able to work themselves over this
huddle.

Alternately, we should add symbol versioning to our shared libs like
Solaris does.


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 Manfred Antar

At 11:47 AM 2/12/2001 -0500, Garrett Wollman wrote:
>< said:
>
>> The major number has already been bumped, I thought. If this is true
>> then we've only broken compatibility with older versions of -current
>> after the version number was bumped but before this change, right?
>
>However, this may turn out to be so painful that we need to bump it
>again.
>
>-GAWollman
>
>
>
>To Unsubscribe: send mail to [EMAIL PROTECTED]
>with "unsubscribe freebsd-current" in the body of the message 

I just did a make build world on current and was looking forward to rebuilding all the 
ports :)
Should I wait until the version bump then try again. I realize that if I do a install 
world now
I'll have to rebuild almost everything X,apache.bind,etc,etc. I just don't want to do 
it twice in
two days. I guess I'll wait. I already experienced some of the ramifications from just 
installing a 
current libc.so.5. Fortunately i kept a backup copy of the old one :)
 Thanks
Manfred
==
||  [EMAIL PROTECTED]   ||
||  Ph. (415) 681-6235  ||
==



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 Garrett Wollman

< said:

> The major number has already been bumped, I thought. If this is true
> then we've only broken compatibility with older versions of -current
> after the version number was bumped but before this change, right?

However, this may turn out to be so painful that we need to bump it
again.

-GAWollman



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: HEADS UP: installworld gotchas

2001-02-12 Thread Doug Barton

Doug Barton wrote:
> 
> Peter Wemm wrote:
> 
> > Argh...  We are in far worse shape than I thought...
> 
> > It seems that the "temporary" copies of the host tools like install etc
> > are getting clobbered by the non-version-bump of libc.
> >
> > It is sheer luck that only the sed thing died before.  It could have been
> > a lot worse.
> 
> I managed to get through an install by doing 'make -k install ; make
> installworld' in /usr/src. So far, the only thing that's been negatively
> affected is my old x-chat binary. I compiled and installed a new one and it
> works just fine.

Well, I spoke a little too soon. xauth is also dead. It isn't allowing
connections back to the X server, and it dumps core when I try running it
to list .Xauthority contents, etc. 

Doug
-- 
"Pain heals. Chicks dig scars. Glory . . . lasts forever."
-- Keanu Reeves as Shane Falco in "The Replacements"

Do YOU Yahoo!?


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 Doug Barton

Peter Wemm wrote:

> Argh...  We are in far worse shape than I thought...

> It seems that the "temporary" copies of the host tools like install etc
> are getting clobbered by the non-version-bump of libc.
> 
> It is sheer luck that only the sed thing died before.  It could have been
> a lot worse.

I managed to get through an install by doing 'make -k install ; make
installworld' in /usr/src. So far, the only thing that's been negatively
affected is my old x-chat binary. I compiled and installed a new one and it
works just fine. 

FWIW,

Doug
-- 
"Pain heals. Chicks dig scars. Glory . . . lasts forever."
-- Keanu Reeves as Shane Falco in "The Replacements"

Do YOU Yahoo!?


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



Re: HEADS UP: installworld gotchas

2001-02-11 Thread Peter Wemm

Peter Wemm wrote:
> Bruce Evans wrote:
> > On Sun, 11 Feb 2001, Peter Wemm wrote:
> > 
> > > I cant help but wonder why on earth we didn't have it like this from the
> > > start:
> > > 
> > > Index: include/stdio.h
> > > ===
> > > RCS file: /home/ncvs/src/include/stdio.h,v
> > > retrieving revision 1.26
> > > diff -u -r1.26 stdio.h
> > > --- include/stdio.h   2001/02/11 22:04:18 1.26
> > > +++ include/stdio.h   2001/02/12 01:27:16
> > > @@ -132,6 +132,9 @@
> > >  
> > >  __BEGIN_DECLS
> > >  extern FILE __sF[];
> > > +extern FILE *__stdin;
> > > +extern FILE *__stdout;
> > > +extern FILE *__stderr;
> > >  __END_DECLS
> > 
> > Once upon a time, people counted every instruction in getchar(), etc.,
> > and programmed it carefully to unnecessary indirections, not to mention
> > function calls and locks.
> 
> And, because it breaks global declarations like this:
> FILE *buffer = stdout;/* default buffer file is stdout */
> 
> I have fixed this to avoid the indirection, and am doing a buildworld
> to check it.  It should be the same speed as before, but is still immune
> to the FILE size changes.

Argh...  We are in far worse shape than I thought...

===> lib/libc
install -Cv -c -o root -g wheel -m 444   libc.a /usr/lib
install: libc.a -> /usr/lib/libc.a
install -Cv -c -s -o root -g wheel -m 444   -fschg  libc.so.5 /usr/lib
install: libc.so.5 -> /usr/lib/libc.so.5
ln -sf libc.so.5 /usr/lib/libc.so
install -Cv -c -o root -g wheel -m 444   libc_pic.a /usr/lib
/usr/libexec/ld-elf.so.1: Undefined symbol "__sF" referenced from COPY relocation in 
install
*** Error code 1

It seems that the "temporary" copies of the host tools like install etc
are getting clobbered by the non-version-bump of libc.

It is sheer luck that only the sed thing died before.  It could have been
a lot worse.

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: HEADS UP: installworld gotchas

2001-02-11 Thread Peter Wemm

Bruce Evans wrote:
> On Sun, 11 Feb 2001, Peter Wemm wrote:
> 
> > I cant help but wonder why on earth we didn't have it like this from the
> > start:
> > 
> > Index: include/stdio.h
> > ===
> > RCS file: /home/ncvs/src/include/stdio.h,v
> > retrieving revision 1.26
> > diff -u -r1.26 stdio.h
> > --- include/stdio.h 2001/02/11 22:04:18 1.26
> > +++ include/stdio.h 2001/02/12 01:27:16
> > @@ -132,6 +132,9 @@
> >  
> >  __BEGIN_DECLS
> >  extern FILE __sF[];
> > +extern FILE *__stdin;
> > +extern FILE *__stdout;
> > +extern FILE *__stderr;
> >  __END_DECLS
> 
> Once upon a time, people counted every instruction in getchar(), etc.,
> and programmed it carefully to unnecessary indirections, not to mention
> function calls and locks.

And, because it breaks global declarations like this:
FILE *buffer = stdout;  /* default buffer file is stdout */

I have fixed this to avoid the indirection, and am doing a buildworld
to check it.  It should be the same speed as before, but is still immune
to the FILE size changes.

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: HEADS UP: installworld gotchas

2001-02-11 Thread Bruce Evans

On Sun, 11 Feb 2001, Peter Wemm wrote:

> I cant help but wonder why on earth we didn't have it like this from the
> start:
> 
> Index: include/stdio.h
> ===
> RCS file: /home/ncvs/src/include/stdio.h,v
> retrieving revision 1.26
> diff -u -r1.26 stdio.h
> --- include/stdio.h   2001/02/11 22:04:18 1.26
> +++ include/stdio.h   2001/02/12 01:27:16
> @@ -132,6 +132,9 @@
>  
>  __BEGIN_DECLS
>  extern FILE __sF[];
> +extern FILE *__stdin;
> +extern FILE *__stdout;
> +extern FILE *__stderr;
>  __END_DECLS

Once upon a time, people counted every instruction in getchar(), etc.,
and programmed it carefully to unnecessary indirections, not to mention
function calls and locks.

Bruce



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



Re: HEADS UP: installworld gotchas

2001-02-11 Thread Bruce Evans

On Sun, 11 Feb 2001, Daniel Eischen wrote:

> The new libc is incompatible with some old applications, but I'm not
> too sure why.  The lock was added at the end of FILE...

It's very incompatible.  I happened to compile make(1) with the new
stdio.h and the old libc.a (partly because unrelated changes broke
compilation of libc).  It did not work at all (it always found
everything up to date).  I would have thought that make(1) didn't
know enough about the internals of FILE to even care about new fields
in the middle, since things like getc() are no longer macros (it
hopefully doesn't used the vestiges of these things which are now
misplaced in stdio.h).

Bruce



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



Re: HEADS UP: installworld gotchas

2001-02-11 Thread Peter Wemm

Daniel Eischen wrote:
> 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 yo
u
> > > :   intend to change the sizeof(FILE), or every single third party applic
atio
> > 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.
> 
> I like it, commit it :-)

Well, now that we've broken the ABI, now is as good a time as any...

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: HEADS UP: installworld gotchas

2001-02-11 Thread Matt Dillon

:
:I cant help but wonder why on earth we didn't have it like this from the
:start:
:
:Index: include/stdio.h
:===
:...

Yah.  I say commit it.  Might as well, it can't hurt any worse then
changing the size of FILE.

-Matt


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



Re: HEADS UP: installworld gotchas

2001-02-11 Thread Daniel Eischen

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.

I like it, commit it :-)

-- 
Dan Eischen


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



Re: HEADS UP: installworld gotchas

2001-02-11 Thread Peter Wemm

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:

Index: include/stdio.h
===
RCS file: /home/ncvs/src/include/stdio.h,v
retrieving revision 1.26
diff -u -r1.26 stdio.h
--- include/stdio.h 2001/02/11 22:04:18 1.26
+++ include/stdio.h 2001/02/12 01:27:16
@@ -132,6 +132,9 @@
 
 __BEGIN_DECLS
 extern FILE __sF[];
+extern FILE *__stdin;
+extern FILE *__stdout;
+extern FILE *__stderr;
 __END_DECLS
 
 #define__SLBF  0x0001  /* line buffered */
@@ -194,9 +197,9 @@
 #defineSEEK_END2   /* set file offset to EOF plus offset */
 #endif
 
-#definestdin   (&__sF[0])
-#definestdout  (&__sF[1])
-#definestderr  (&__sF[2])
+#definestdin   __stdin
+#definestdout  __stdout
+#definestderr  __stderr
 
 /*
  * Functions defined in ANSI C standard.
Index: lib/libc/stdio/findfp.c
===
RCS file: /home/ncvs/src/lib/libc/stdio/findfp.c,v
retrieving revision 1.10
diff -u -r1.10 findfp.c
--- lib/libc/stdio/findfp.c 2001/02/11 22:06:40 1.10
+++ lib/libc/stdio/findfp.c 2001/02/12 01:27:16
@@ -75,6 +75,10 @@
 struct glue __sglue = { &uglue, 3, __sF };
 static struct glue *lastglue = &uglue;
 
+FILE *__stdin = &__sF[0];
+FILE *__stdout = &__sF[1];
+FILE *__stderr = &__sF[2];
+
 static struct glue *   moreglue __P((int));
 
 static spinlock_t thread_lock = _SPINLOCK_INITIALIZER;


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.

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: HEADS UP: installworld gotchas

2001-02-11 Thread Matt Dillon


:   
:   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 application
:   that uses stdio will break.
:
:   -Matt

Oh wait, is libc already bumped in current verses 4.2?  If so then I guess
we don't bump libc's maj.  God help anyone using current though!

-Matt


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



Re: HEADS UP: installworld gotchas

2001-02-11 Thread Kris Kennaway

On Sun, Feb 11, 2001 at 04:44:21PM -0800, Matt Dillon wrote:
> 
> :> The new libc is incompatible with some old applications, but I'm not
> :> too sure why.  The lock was added at the end of FILE...
> :
> :The size of FILE changed, thus the old application and the new library
> :no longer agree about the values for stdout and stderr:
> :
> : #define stdin   (&__sF[0])
> : #define stdout  (&__sF[1])
> : #define stderr  (&__sF[2])
> :
> :- Tor Egge
>
>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 application
>that uses stdio will break.

The major number has already been bumped, I thought. If this is true
then we've only broken compatibility with older versions of -current
after the version number was bumped but before this change, right?

Kris

 PGP signature


Re: HEADS UP: installworld gotchas

2001-02-11 Thread Matt Dillon


:> The new libc is incompatible with some old applications, but I'm not
:> too sure why.  The lock was added at the end of FILE...
:
:The size of FILE changed, thus the old application and the new library
:no longer agree about the values for stdout and stderr:
:
:   #define stdin   (&__sF[0])
:   #define stdout  (&__sF[1])
:   #define stderr  (&__sF[2])
:
:- Tor Egge
   
   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 application
   that uses stdio will break.

-Matt



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



Re: HEADS UP: installworld gotchas

2001-02-11 Thread Tor . Egge


> The new libc is incompatible with some old applications, but I'm not
> too sure why.  The lock was added at the end of FILE...

The size of FILE changed, thus the old application and the new library
no longer agree about the values for stdout and stderr:

#define stdin   (&__sF[0])
#define stdout  (&__sF[1])
#define stderr  (&__sF[2])

- Tor Egge


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



Re: HEADS UP: installworld gotchas

2001-02-11 Thread Daniel Eischen

On Mon, 12 Feb 2001, Bruce Evans wrote:
> On Sun, 11 Feb 2001, Daniel Eischen wrote:
> 
> > On Sun, 11 Feb 2001, Daniel Eischen wrote:
> > 
> > > deischen2001/02/11 14:06:46 PST
> > > 
> > >   Modified files:
> > > include  stdio.h 
> > >   Log:
> > >   libc MT-safety, part 2.
> > >   
> > >   Add a lock to FILE and define an additional flag.
> > 
> > This commit caused some bootstrap problems.  The installworld failed
> > installing perl which seemed to need sed (from /usr/bin/sed), and libc
> > got installed before sed.  I used the following to install:
> 
> I think this is telling you that the new libc is incompatible with old
> applications.  Installworld uses sed from ${INSTALLTMP}/sed.  It copies
> sed from /usr/bin/sed at the start to (almost) ensure that only the old
> version is used.  If perl actually uses /usr/bin/sed, then that is
> another bug in perl, but since perl is installed before sed, this makes
> no difference because /usr/bin/sed is still the old version.

The new libc is incompatible with some old applications, but I'm not
too sure why.  The lock was added at the end of FILE...

-- 
Dan Eischen


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



Re: HEADS UP: installworld gotchas

2001-02-11 Thread Bruce Evans

On Sun, 11 Feb 2001, Daniel Eischen wrote:

> On Sun, 11 Feb 2001, Daniel Eischen wrote:
> 
> > deischen2001/02/11 14:06:46 PST
> > 
> >   Modified files:
> > include  stdio.h 
> >   Log:
> >   libc MT-safety, part 2.
> >   
> >   Add a lock to FILE and define an additional flag.
> 
> This commit caused some bootstrap problems.  The installworld failed
> installing perl which seemed to need sed (from /usr/bin/sed), and libc
> got installed before sed.  I used the following to install:

I think this is telling you that the new libc is incompatible with old
applications.  Installworld uses sed from ${INSTALLTMP}/sed.  It copies
sed from /usr/bin/sed at the start to (almost) ensure that only the old
version is used.  If perl actually uses /usr/bin/sed, then that is
another bug in perl, but since perl is installed before sed, this makes
no difference because /usr/bin/sed is still the old version.

Bruce



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