linux-gcc-digest            Monday, 24 May 1999        Volume 01 : Number 393

In this issue:

        STL iterator question?
        Re: glibc 2.1.1pre2
        RE: glibc 2.1.1pre2
        Help for crypt...
        Re: Help for crypt...
        Re: Help for crypt...
        RE: Help for crypt...
        Re: Help for crypt... 
        Re: Help for crypt...
        XView progs.
        Re: XView progs.
        glibc 2.1.1pre2 breaks getbyhostname for IPs?
        Disk in Memory
        Re: Disk in Memory
        Re: XView progs.
        Re: glibc 2.1.1pre2 breaks getbyhostname for IPs?
        Re: glibc 2.1.1pre2 breaks getbyhostname for IPs?
        gcc 2.8.1 compiled kernel breaks X
        Re: XView progs.
        documentation
        Re: glibc 2.1.1pre2 breaks getbyhostname for IPs?
        gdb 4.17.0.12 is released.
        Re: when are new versions released?
        Error during build of glibc-2.1.1pre2
        Re: Error during build of glibc-2.1.1pre2
        Bug on the optimizer
        Re: when are new versions released?
        problems checking egcs v1.1.2
        libg++ 2.8.1 with gcc-2.7.2.3
        more of libstdc++ 2.8.1 on gcc 2.7.2.3
        problems with 'packed'
        Re: more of libstdc++ 2.8.1 on gcc 2.7.2.3
        Re: problems with 'packed'
        Re: problems with 'packed'
        Re: problems with 'packed'
        Re: problems with 'packed'
        Re: problems checking egcs v1.1.2
        Re: problems with 'packed'
        glibc 2.1.1pre3
        Linking libc on glibc system
        C++ compiler cannot create executables 
        binutils 2.9.1.0.25 is released.

See the end of the digest for information on subscribing to the linux-gcc
or linux-gcc-digest mailing lists.

----------------------------------------------------------------------

From: Fenglou Mao <[EMAIL PROTECTED]>
Date: Tue, 4 May 1999 12:07:41 -0700 (PDT)
Subject: STL iterator question?

Dear all,
     I want to modify a object's value via a iterator, for example,

           set<CObject,...>::iterator i;

     this statement:

           (*i).id=0;

     can not pass the compiler, "..." is the allocator.
     How can I declare a no-const iterator in gcc STL?

Sincerely Yours,

FengLou Mao
*******************************
ADD:Mr. FengLou Mao
    Peking University
    BeiJing
    P.R.China
Tel:86-10-62751490
Fax:86-10-62751725



------------------------------

From: "Mark H. Wood" <[EMAIL PROTECTED]>
Date: Tue, 4 May 1999 10:05:34 -0500 (EST)
Subject: Re: glibc 2.1.1pre2

Thank you.

Is there some page somewhere that tracks the current status of glibc2?

o       The FSF glibc page still says that 2.0 is the latest.

o       The FSF ftp archive still says that 2.1 is withdrawn due to
        political issues.

o       http://glibc.cygnus.com/ takes me to the EGCS page, which makes no
        mention of glibc.

Basically a lot of people have no clue where to find 2.1, and some of us
who do know where it is are not sure whether we ought to use it.  I think
you'd get more testers if these issues were resolved.

- -- 
Mark H. Wood, Lead System Programmer   [EMAIL PROTECTED]
Specializing in unusual perspectives for more than twenty years.


------------------------------

From: Paumann Mario <[EMAIL PROTECTED]>
Date: Wed, 5 May 1999 09:29:34 +0100 
Subject: RE: glibc 2.1.1pre2

These are the resources i use when looking for a new release
2.1.1pre2 is at alpha.

ftp://alpha.gnu.org/gnu/
ftp://sourceware.cygnus.com/pub/glibc/
ftp://ftp.funet.fi/pub/gnu/funet/

mario

> -----Urspr�ngliche Nachricht-----
> Von:  Mark H. Wood [SMTP:[EMAIL PROTECTED]]
> Gesendet am:  Dienstag, 4. Mai 1999 16:06
> An:   unlisted-recipients
> Cc:   VGER gcc list
> Betreff:      Re: glibc 2.1.1pre2
> 
> Thank you.
> 
> Is there some page somewhere that tracks the current status of glibc2?
> 
> o     The FSF glibc page still says that 2.0 is the latest.
> 
> o     The FSF ftp archive still says that 2.1 is withdrawn due to
>       political issues.
> 
> o     http://glibc.cygnus.com/ takes me to the EGCS page, which makes no
>       mention of glibc.
> 
> Basically a lot of people have no clue where to find 2.1, and some of us
> who do know where it is are not sure whether we ought to use it.  I think
> you'd get more testers if these issues were resolved.
> 
> -- 
> Mark H. Wood, Lead System Programmer   [EMAIL PROTECTED]
> Specializing in unusual perspectives for more than twenty years.

------------------------------

From: "" <[EMAIL PROTECTED]>
Date: Wed, 05 May 1999 02:09:06 PDT
Subject: Help for crypt...

Hello,

I've problem with crypt function: when I run make, it say that it was 
undefined reference to 'crypt' in my source where I've include <unistd.h>. 
What happen???

Thanks...

                  Fabien.     ([EMAIL PROTECTED])


______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

------------------------------

From: Keith Duthie <[EMAIL PROTECTED]>
Date: Wed, 5 May 1999 23:30:41 +1200 (NZST)
Subject: Re: Help for crypt...

On Wed, 5 May 1999,  wrote:

> Hello,
> 
> I've problem with crypt function: when I run make, it say that it was 
> undefined reference to 'crypt' in my source where I've include <unistd.h>. 
> What happen???
Try adding an explicit -lcrypt
- -- 
Understanding is a three edged sword. Do you *want* to get the point?
         http://www.albatross.co.nz/~psycho/        O-


------------------------------

From: Brian Geisel <[EMAIL PROTECTED]>
Date: Wed, 5 May 1999 08:32:50 -0400
Subject: Re: Help for crypt...

> Hello,
> 
> I've problem with crypt function: when I run make, it say that it was 
> undefined reference to 'crypt' in my source where I've include
<unistd.h>. 
> What happen???
> 
> Thanks...
> 
>                   Fabien.     ([EMAIL PROTECTED])

Fabien,
        Ok, are you using C or C++ code, or are you using a mixture of the two? 
Is the message you're getting any more specific than that?  Did you look in
the unistd file and compare your function call?  How are you calling the
function (give us the line)?  Are you sure the line above it is ok (no
missing ; or something stupid, undefined variable whatever)?
        We're kinda short on information, I tried to give you some ideas to either
clue us in, or clue you in on the problem.  If this doesn't help at all,
let us know some more about what is going on.

geisel

------------------------------

From: [EMAIL PROTECTED]
Date: Wed, 5 May 1999 13:54:45 +0200 
Subject: RE: Help for crypt...

Hi,
> I've problem with crypt function: when I run make, it say that it was 
> undefined reference to 'crypt' in my source where I've include
> <unistd.h>. 
> What happen???
> 
the crypt() function has moved to it's own lib. Use
"-lcrypt" to specify that you want to link against it.

HTH,
Thomas

------------------------------

From: Philip Blundell <[EMAIL PROTECTED]>
Date: Wed, 05 May 1999 13:48:14 +0100
Subject: Re: Help for crypt... 

>I've problem with crypt function: when I run make, it say that it was 
>undefined reference to 'crypt' in my source where I've include <unistd.h>. 
>What happen???

You need to add -lcrypt when linking.  I think this is in the glibc FAQ.

p.




------------------------------

From: Kurt Wall <[EMAIL PROTECTED]>
Date: Wed, 5 May 1999 07:30:15 -0600
Subject: Re: Help for crypt...

On Wed, May 05, 1999 at 02:09:06AM -0700, [EMAIL PROTECTED] wrote:
> Hello,
> 
> I've problem with crypt function: when I run make, it say that it was 
> undefined reference to 'crypt' in my source where I've include <unistd.h>. 
> What happen???

Link against libcrypt, adding -lcrpyt to the gcc compile line.

Kurt
- -- 
I smell like a wet reducing clinic on Columbus Day!

------------------------------

From: Leandro Tino <[EMAIL PROTECTED]>
Date: Wed, 5 May 1999 09:17:31 -0700 (PDT)
Subject: XView progs.

Hi all

I have problems compiling programs written in C with XView extensions.
Although I've added X11/Xlib.h, xview/generic.h, xview/xview.h, and
widget-related xview includes, and run gcc with libraries libX11,
libxview and libolgx (those necessary to get xview-based programs
compiled), linking exits with errors, saying that some references are
missing - (references to functions contained in libX11.a) 
Can you tell me what's wrong?
Am I omitting anything?

PD: I don't know if I'm using the right list to ask this. If not,
please tell me where can I go.

Thank you in advance!  

Leandro C. Tino
mail: [EMAIL PROTECTED]
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


------------------------------

From: [EMAIL PROTECTED]
Date: Wed, 05 May 1999 18:27:05 ric
Subject: Re: XView progs.

Possibly, you just need something like this in the gcc/ld command line
in your Makefile:

 -L/usr/X11R6/lib

X libraries are not in the default library path of your average linux
system, so you need to steer ld a bit.  If that's not it, try showing us
(if anybbody else reads this list) the statement that's failing (I mean
the gcc or ld command line) and some of the errors it spews.

Lawson
          >< Microsoft free environment

This mail client runs on Wine.  Your mileage may vary.

On Wed, 5 May 1999, Leandro Tino wrote:

> 
> Hi all
> 
> I have problems compiling programs written in C with XView extensions.
> Although I've added X11/Xlib.h, xview/generic.h, xview/xview.h, and
> widget-related xview includes, and run gcc with libraries libX11,
> libxview and libolgx (those necessary to get xview-based programs
> compiled), linking exits with errors, saying that some references are
> missing - (references to functions contained in libX11.a) 
> Can you tell me what's wrong?
> Am I omitting anything?
> 
> PD: I don't know if I'm using the right list to ask this. If not,
> please tell me where can I go.
> 
> Thank you in advance!  
> 
> Leandro C. Tino
> mail: [EMAIL PROTECTED]
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
> 
> 




___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com/getjuno.html
or call Juno at (800) 654-JUNO [654-5866]

------------------------------

From: "David B. Rees" <[EMAIL PROTECTED]>
Date: Wed, 05 May 1999 23:22:34 -0700 (PDT)
Subject: glibc 2.1.1pre2 breaks getbyhostname for IPs?

I recently upgraded to glibc-2.1.1pre2 from glibc-2.1.1pre1, and found that
doing a gethostbyname on IP addresses now fails.  For instance, the following
code returns NULL on a glibc-2.1.1pre2 machine, and the same binary works fine
on another non-glibc-2.1.1pre2 machine:

if ((ht = gethostbyname("127.0.0.1")) == NULL) {
    printf("Error: %d ", h_errno);
else
    printf("Fine and dandy\n");

In this case, h_errno is set to HOST_NOT_FOUND.

Compiling the program statically on a good machine results in good behavior on
the glibc-2.1.1pre2 machine.
Compiling statically on the glibc-2.1.1pre2 machine results in broken behavior
on the non-glibc-2.1.1pre2 machine.

If there's any other information you need, just ask.

- -Dave

------------------------------

From: Rafael Marco de Lucas <[EMAIL PROTECTED]>
Date: Thu, 06 May 1999 13:10:30 +0200
Subject: Disk in Memory

   Hello, does somebody knows if it is possible to create a disk
 in memory ? i have a program that has to read a lot of data from
 disk many times and i would like to have all of them in memory
 to improve the access time,, so i think that if it is possible
 to copy somehow all the files to memory and after access them as
 normal files it would be perfect for me,, can anybody help me
 about how to attack this problem? , (i am working in a pc running
 linux redhat5.2)
cheers,
Rafa

------------------------------

From: [EMAIL PROTECTED]
Date: Thu, 06 May 1999 23:46:10 ric
Subject: Re: Disk in Memory

There are ramdisk devices you can use like any other block device.  If
you have the kernel source installed, have a read of
/usr/src/linux/Documentation/ramdisk.txt, if not, what are you waiting
for?  Install it. :-).

Bear in mind, though, that any memory that is not needed for something
else, linux will use for disk cache buffers, and it keeps the most
recently used sectors in memory for as long as it can, in case something
might want to use them again.  So by forcing it to use memory for
ramdisks, you will interfere with its ability to do this.  If there are
a few small files your program uses very heavily, you _might_ be able to
get better performance by putting them in a ramdisk, perhaps at he
expense of poorer performance by other programs.  Ramdisk support _is_ a
kernel option, but as RedHat uses ramdisks in their bootup sequence, it
has got to be included in their default kernels.

You can initialize a ramdisk by using dd to copy /dev/zero to it for the
size you want, make a filesystem on it, mount it, and copy what files
you like to it.  Then you have to get your program to read them from the
ramdisk instead of where it was accustomed to read them from.  They will
be named either /dev/ram<n> or /dev/ramdisk<n>, if they don't exist you
can make them with mknod (major 1).

Lawson
          >< Microsoft free environment

This mail client runs on Wine.  Your mileage may vary.


On Thu, 6 May 1999, Rafael Marco de Lucas wrote:

> 
>    Hello, does somebody knows if it is possible to create a disk
>  in memory ? i have a program that has to read a lot of data from
>  disk many times and i would like to have all of them in memory
>  to improve the access time,, so i think that if it is possible
>  to copy somehow all the files to memory and after access them as
>  normal files it would be perfect for me,, can anybody help me
>  about how to attack this problem? , (i am working in a pc running
>  linux redhat5.2)
> cheers,
> Rafa
> 
> 
> 




___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com/getjuno.html
or call Juno at (800) 654-JUNO [654-5866]

------------------------------

From: Leandro Tino <[EMAIL PROTECTED]>
Date: Fri, 7 May 1999 05:41:32 -0700 (PDT)
Subject: Re: XView progs.

Some missing references have found their functions in
/usr/X11R6/lib/libXt.a. (Thanks Lawson!) That was OK, but there are few
more still missing, related with libxview.a and functions olgx_*,
although libolgx.a is already included. No more different directories
have to be added, I think.
Note that those olgx functions are contained into xview libs: 'nm' says
so, but ld doesn't find them.
What do you think?

Leandro C. Tino
mail: [EMAIL PROTECTED]


- --- [EMAIL PROTECTED] wrote:
> Possibly, you just need something like this in the
> gcc/ld command line
> in your Makefile:
> 
>  -L/usr/X11R6/lib
> 
> X libraries are not in the default library path of
> your average linux
> system, so you need to steer ld a bit.  If that's
> not it, try showing us
> (if anybbody else reads this list) the statement
> that's failing (I mean
> the gcc or ld command line) and some of the errors
> it spews.
> 
> Lawson
>         >< Microsoft free environment
> 
> This mail client runs on Wine.  Your mileage may
> vary.
> 
> On Wed, 5 May 1999, Leandro Tino wrote:
> 
> > 
> > Hi all
> > 
> > I have problems compiling programs written in C
> with XView extensions.
> > Although I've added X11/Xlib.h, xview/generic.h,
> xview/xview.h, and
> > widget-related xview includes, and run gcc with
> libraries libX11,
> > libxview and libolgx (those necessary to get
> xview-based programs
> > compiled), linking exits with errors, saying that
> some references are
> > missing - (references to functions contained in
> libX11.a) 
> > Can you tell me what's wrong?
> > Am I omitting anything?
> > 
> > PD: I don't know if I'm using the right list to
> ask this. If not,
> > please tell me where can I go.
> > 
> > Thank you in advance!  
> > 
> > Leandro C. Tino
> > mail: [EMAIL PROTECTED]
> >
> _________________________________________________________
> > Do You Yahoo!?
> > Get your free @yahoo.com address at
> http://mail.yahoo.com
> > 
> > 
> 
> 
> 
> 
> ___________________________________________________________________
> You don't need to buy Internet access to use free
> Internet e-mail.
> Get completely free e-mail from Juno at
> http://www.juno.com/getjuno.html
> or call Juno at (800) 654-JUNO [654-5866]
> 

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


------------------------------

From: "David B. Rees" <[EMAIL PROTECTED]>
Date: Fri, 07 May 1999 05:46:09 -0700 (PDT)
Subject: Re: glibc 2.1.1pre2 breaks getbyhostname for IPs?

On 07-May-99 Matti Aarnio wrote:
> "David B. Rees" <[EMAIL PROTECTED]> asks:
>> I recently upgraded to glibc-2.1.1pre2 from glibc-2.1.1pre1, and found that
>> doing a gethostbyname on IP addresses now fails.  For instance, the
>> following
>> code returns NULL on a glibc-2.1.1pre2 machine, and the same binary works
>> fine
>> on another non-glibc-2.1.1pre2 machine:
> 
>   You are misusing the   gethostbyname()  misbehaviour at some versions
> of the glibc-2.0.  Per specification doing mapping from IPv4 address to
> hostent structures, you should use:  inet_aton()  (or  inet_pton() for
> newer systems)

Ah, I didn't realize that it wasn't supposed to work.  Where can I find
Official documentation on this?  My man pages just aren't cutting it anymore...

Thanks,
Dave

------------------------------

From: Matti Aarnio <[EMAIL PROTECTED]>
Date: Fri, 7 May 1999 15:40:56 +0300 (EEST)
Subject: Re: glibc 2.1.1pre2 breaks getbyhostname for IPs?

"David B. Rees" <[EMAIL PROTECTED]> asks:
> I recently upgraded to glibc-2.1.1pre2 from glibc-2.1.1pre1, and found that
> doing a gethostbyname on IP addresses now fails.  For instance, the following
> code returns NULL on a glibc-2.1.1pre2 machine, and the same binary works fine
> on another non-glibc-2.1.1pre2 machine:

  You are misusing the   gethostbyname()  misbehaviour at some versions
of the glibc-2.0.  Per specification doing mapping from IPv4 address to
hostent structures, you should use:  inet_aton()  (or  inet_pton() for
newer systems)

> if ((ht = gethostbyname("127.0.0.1")) == NULL) {
>     printf("Error: %d ", h_errno);
> else
>     printf("Fine and dandy\n");
.... 
> -Dave

/Matti Aarnio <[EMAIL PROTECTED]>

------------------------------

From: ray f <[EMAIL PROTECTED]>
Date: Fri, 7 May 1999 06:37:38 -0700 (PDT)
Subject: gcc 2.8.1 compiled kernel breaks X

hi

compiled and installed gcc-2.8.1 on my linux 2.0.35 and i tested it out
by compiling the same 2.0.35 kernel and it was fine.

rebooted with the newly compiled kernel and it booted but X wouldnt
start via XDM.  tried startx but that trhew back error no 111 (couldnt
connect).  can anyone tell me why and what i've done wrong.

my system before gcc upgrade
- - linux-2.0.35 kernel
- - gcc-2.7.2.3
- - libc.5.4.46
- - XFree86 3.3.3.1

on boot, /sbin/clock seg faults.  i recompiled this with gcc-2.8.1 and
tried to run it but it still seg faulted.  does this have an effect on
X (wouldnt think so but hmmm)

can anyone tell me why this happens and how i can fix it... thanks

ray

ps - i dont really have the reseources to upgrade to linux-2.2 so any
hlep on 2.0 side would be greatly appreciated




_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


------------------------------

From: [EMAIL PROTECTED]
Date: Fri, 07 May 1999 13:46:58 ric
Subject: Re: XView progs.

I really don't want to get into this, because I haven't yet found a good
way to explain it, and of course, I could be wrong anyway :-)

If you can find a reference in your library path (with nm, say) and ld
can't find it, you are possibly experiencing libc5/glibc version
control.  ld and ld.so resist mixing of libc5 and glibc in the same run
unit this way:  once it detects a soname for a libc, whether libc.so.5
or libc.so.6, version control blinds ld to any library that refers to
a soname for the other libc.  If this is the problem, the solution is to
get a version of the library that is linked with whichever libc you use
as your primary development libc, or to get the source and link it
yourself.

Version control isn't terribly sophisticated, and it is possible to
defeat it, but you will usually get a segment fault if you do.

ldd is very handy for tracking this sort of thing, also ldconfig -p and
objdump.

Lawson

On Fri, 7 May 1999, Leandro Tino wrote:

> Some missing references have found their functions in
> /usr/X11R6/lib/libXt.a. (Thanks Lawson!) That was OK, but there are few
> more still missing, related with libxview.a and functions olgx_*,
> although libolgx.a is already included. No more different directories
> have to be added, I think.
> Note that those olgx functions are contained into xview libs: 'nm' says
> so, but ld doesn't find them.
> What do you think?
> 
> Leandro C. Tino
> mail: [EMAIL PROTECTED]





___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com/getjuno.html
or call Juno at (800) 654-JUNO [654-5866]

------------------------------

From: =?iso-8859-2?B?VGFt4XMgwXJw4WQ=?= <[EMAIL PROTECTED]>
Date: Fri, 7 May 1999 23:00:40 +0200
Subject: documentation

Hi
I'm new to programing in c++ especially under Linux.
Please tell me where can I find online docs abouot standard c++, or
whatever about programming under linux, gnu c++ etc.
I realy interested in network programming (tcp/ip). Where should I
look for documentation about this?
Thanks
                Arpad Tamas

------------------------------

From: Ralf Baechle <[EMAIL PROTECTED]>
Date: Fri, 7 May 1999 19:44:40 +0200
Subject: Re: glibc 2.1.1pre2 breaks getbyhostname for IPs?

On Fri, May 07, 1999 at 05:46:09AM -0700, David B. Rees wrote:

> Ah, I didn't realize that it wasn't supposed to work.  Where can I find
> Official documentation on this?  My man pages just aren't cutting it
> anymore...

The info pages are in a much better shape and as this is a standard
API function you may as well peek on any other sane UNIX system's
documentation.

  Ralf

------------------------------

From: [EMAIL PROTECTED] (H.J. Lu)
Date: Sun, 9 May 1999 08:06:05 -0700 (PDT)
Subject: gdb 4.17.0.12 is released.

Hi, Folks,

This is the beta release of gdb 4.17.0.12, which is based on gdb 4.17
plus Linux/x86 hardware watchpoint/FPU, glibc 2 pthread and Linux/PPC
support. You need linux 2.0.35 or above, or 2.1.xx to get the x86 FPU
to work correctly. The Linux/x86 binary works with all recent kernels
and C libraries, and the x86 FPU support is enabled at the run-time,
depending on the kernel version.

You need the latest glibc 2.1.1 to debug LinuxThreads.

Special thanks to Dan Bethe who provided the PowePC notebook which
makes the LinuxPPC support in gdb possible.

Please report any bugs related to gdb 4.17.0.12 to [EMAIL PROTECTED]

Problems:

Because most of system calls in glibc 2 are written in assembly without
frame pointer, gdb may not be able to debug nor get stack trace system
calls on glibc-based 2 systems. Due to this, "make check" may fail in

FAIL: gdb.base/a1-selftest.exp: backtrace through signal handler
FAIL: gdb.base/signals.exp: bt in signals.exp

with glibc 2.

Also, it is normal to see 

FAIL: gdb.base/interrupt.exp: continue (timeout)
FAIL: gdb.base/interrupt.exp: echo data (timeout)

if there is

XPASS: gdb.base/interrupt.exp: send_gdb end of file

Due to the new cplus-dem.c from egcs 1.1.1, you will get a few

FAIL: gdb.c++/demangle.exp: maint demangle __xxxxxxxxxx

Changes from gdb 4.17.0.11:

1. Support LinuxThreads on PowerPC.
2. Support P/III and AMD 3DNow! instructions.
3. Fix debugging dynamically loaded shared object.

Changes from gdb 4.17.0.10:

1. Support glibc 2.0 and libc 5.
2. Support LinuxThreads on alpha.
3. Support Solaris 2.7/x86.

Changes from gdb 4.17.0.9:

1. Fix support for glibc 2.1 pthread. Need the latest glibc 2.1, newer
   than 16:30pm PST of 19990-02-03.
2. Fix deleting the hardware watchpoint on x86.

Changes from gdb 4.17.0.8:

1. The new cplus-dem.c from egcs 1999-01-12 with a bug fix.
2. Add support for deleting the hardware watchpoint on x86.
3. Update support for glibc 2.1 pthread.
4. Fix C++ testsuite.

Changes from gdb 4.17.0.6:

1. Support for glibc 2.1 pthread. But it doesn't work, probably due
to the CLONE_PTRACE change to pthread in glibc 2.1.
2. Add support for the older Linux C libraries.
3. Add -static support for glibc 2.1.

Changes from gdb 4.17.0.5:

1. Support for glibc 2.0 pthread. It doesn't work with glibc 2.1.
2. The Linux/PPC support.
3. The Linux/Sparc support. Untested.

Changes from gdb 4.17.0.4:

1. Fix the Intel FPU tag code handling.

Changes from gdb 4.17.0.3:

1. Fix testcases for FPU.
2. Fix x86 hardware watchpoint support.

Changes from gdb 4.17.0.2:

1. Fake FP registers on older kernels.

Changes from gdb 4.17:

1. Linux/x86 FPU support is added. You can debug floating point numbers
   just like integers.
2. x86 hardware watchpoint is extended to long long, double and long
   double.
3. More information on x86 CPU status register.
4. Fix a bug when reading beyond the memory boundary.

The file list:

1. gdb-4.17-4.17.0.12.diff.gz. Patch against gdb 4.17.
2. gdb-4.17.0.11-4.17.0.12.diff.gz. Patch against gdb 4.17.0.11.
3. gdb-4.17.0.12.x86.gz. Precompiled Linux/x86 statically linked binary.
4. gdb-4.17.0.12.spec. A RPM spec file for RedHat 5.x/6.x.

The ftp sites for my gdb patches:

ftp://ftp.varesearch.com/pub/support/hjl/gdb
ftp://ftp.yggdrasil.com/private/hjl
ftp://ftp.kernel.org/pub/linux/devel/gcc

gdb 4.17 source code is available at

ftp://ftp.gnu.org/pub/gnu

To install the precompiled binary,

# gunzp gdb-4.17.0.12.x86.gz
# cp gdb-4.17.0.12.x86 /usr/bin/gdb


H.J.
[EMAIL PROTECTED]
05/07/1999

------------------------------

From: Andreas Jaeger <[EMAIL PROTECTED]>
Date: 09 May 1999 16:56:57 +0200
Subject: Re: when are new versions released?

>>>>> Linas Vepstas writes:

Linas> Hi,

Linas> I haven't heard a peep about new versions of egcs or glibc 
Linas> in many months.  A month ago, I dropped a patch for s/390
Linas> egcs-1.1.2 and it echoed like a bottomless pit.  I have 
Linas> a new improved patch ready ... I am concerned ... are the 
Linas> maintainers overworked?

You're not reading linux-gcc, are you?  glibc 2.1.1pre2 has just been
released and is in release testing stage.  egcs 1.1.2 was released
some weeks ago.

Btw. the lists you addressed aren't involved with egcs development,
contact the egcs folks directly at <http://egcs.cygnus.com>.

Linas> I also have a patch ready against glibc-2.1 for s/390.  Who 
Linas> wants that?  Where do I send it to make it official?
[EMAIL PROTECTED] but it might be that you need to sign some
copyright papers before it can be applied.  Just send the patch.

Why are you insulting glibc and egcs developers?  With this attitude
you don't make yourself welcome and others might ignore you.

Andreas
- -- 
 Andreas Jaeger   [EMAIL PROTECTED]    [EMAIL PROTECTED]
  for pgp-key finger [EMAIL PROTECTED]

------------------------------

From: Xavyer <[EMAIL PROTECTED]>
Date: Sun, 9 May 1999 17:38:18 -0700 (MST)
Subject: Error during build of glibc-2.1.1pre2

I suspect that I've configured something incorrectly; however, it isn't
clear to me exactly what that might be.  With that said; here's the reason
why i'm asking for advice:

gcc -nostdlib -nostartfiles -o /src/glibc/glibc/db2/makedb  -Wl,-dynamic-lin
ker=/lib/ld-linux.so.2   /src/glibc/glibc/csu/crt1.o /src/glibc/glibc/csu/cr
ti.o `gcc --print-file-name=crtbegin.o` /src/glibc/glibc/db2/makedb.o /src/g
libc/glibc/db2/libdb.so.3  -Wl,-rpath-link=/src/glibc/glibc:/src/glibc/glibc
/math:/src/glibc/glibc/elf:/src/glibc/glibc/nss:/src/glibc/glibc/nis:/src/gl
ibc/glibc/db2:/src/glibc/glibc/rt:/src/glibc/glibc/resolv:/src/glibc/glibc/l
inuxthreads /src/glibc/glibc/libc.so.6 /src/glibc/glibc/libc_nonshared.a -lg
cc `gcc --print-file-name=crtend.o` /src/glibc/glibc/csu/crtn.o
/src/glibc/glibc/libc.so.6: undefined reference to `__strtold_internal'
/src/glibc/glibc/libc.so.6: undefined reference to `__printf_fphex'
collect2: ld returned 1 exit status
make[2]: *** [/src/glibc/glibc/db2/makedb] Error 1
make[2]: Leaving directory `/src/glibc/glibc-2.1/db2'
make[1]: *** [db2/others] Error 2
make[1]: Leaving directory `/src/glibc/glibc-2.1'
make: *** [all] Error 2

Now, with that out of the way, let's go on with the pertinent
information:

- -- Versions installed: (if some fields are empty or looks
- -- unusual then possibly you have very old versions)
Linux DarkStar 2.2.7-ac2 #1 SMP Fri May 7 00:12:07 MST 1999 i686 unknown
Kernel modules         2.2.2-pre6
Gnu C                  egcs-2.91.66
Binutils               2.9.1.0.24
Linux C Library        2.0.7
Dynamic linker         ldd (GNU libc) 2.0.7
Linux C++ Library      2.8.1
Linux C++ Library      2.9.0
Procps                 2.0.0
Mount                  2.9g
Net-tools              1.51
Kbd                    0.94
Sh-utils               1.16
Modules Loaded         st
                       awe_wave opl3 sb uart401 sound soundcore soundlow
                       nls_iso8859-1 nls_cp437
                       vfat fat

I'm using make 3.76.1, according to the FAQ, this should be adequate;
however, the FAQ does note that there have been reports of problems
related to the aforementioned version of make.  The error message I'm
receiving is not a 'make' related issue, but an issue with the linker
(ld).  Additionally, the FAQ mentions that 'gettext-0.10.35' and 'gperf'
might be needed, but it goes on to say that these are necessary only if
one modifies the source code (I have not done so).

So, here's the procedure I used to build glibc-2.1:

Unpack everything:

        gunzip -v ../glibc-2.1-2.1.1pre1.diff.gz
        gunzip -v ../glibc-2.1.1pre1-2.1.1pre2.diff.gz
        tar -zxvf glibc-2.1.tar.gz
        tar -zxvf glibc-crypt-2.0.111.tar.gz
        tar -zxvf glibc-linuxthreads-2.1.1pre2.tar.gz
        mv crypt glibc-2.1/.
        mv linuxthreads glibc-2.1/.

Apply patches:

        cd glibc-2.1
        patch -p1 < ../glibc-2.1-2.1.1pre1.diff > ../log.patch.1 2>&1
        patch -p1 < ../glibc-2.1.1pre1-2.1.1pre2.diff > ../log.patch.2 2>&1

Check that the patches applied OK:

        less ../log.patch.[12]

Read INSTALL:

        less INSTALL

Prepare for build:

        On my first attempt, I issued the './configure ...' command shown
        below.  I received an error message indicating that it would
        be better to move the '/usr/include' directory out of the way.
        This seemed like a reasonable suggestion to me (at least not
        'un-reasonable'), so that is why I performed the next step.

        su - root
        cd /usr
        mv include include.save
        mkdir include
        cd include
        ln -s ../src/linux/include/asm asm
        ln -s ../src/linux/include/linux linux
        exit

Configure for build:

        mkdir glibc
        cd glibc
        ../glibc-2.1/configure \
                --prefix=/usr \
                --host=i686-pc-linux-gnu \
                --build=i686-pc-linux-gnu \
                --enable-add-ons

        (Yes, '--prefix=/usr' is probably not the smartest thing to
        do ... letting 'prefix' default to '/usr/local' yields the same
        error message)

Start build:

        make

Thus, I arrived at the error message listed in the beginning of this message.
Have I missed an important step in the configuration procedure?  If anyone
has some insight as to where I've gone wrong; please let me know what it
is so that I can correct my oversight.  I assume that this could also be a
'bug'; however, i'd prefer not to make that claim.

Thank you for your time and 'cc:'

Brubaker


------------------------------

From: Andreas Jaeger <[EMAIL PROTECTED]>
Date: 10 May 1999 07:03:53 +0200
Subject: Re: Error during build of glibc-2.1.1pre2

>>>>> Xavyer  writes:

Xavyer> I suspect that I've configured something incorrectly; however, it isn't
Xavyer> clear to me exactly what that might be.  With that said; here's the reason
Xavyer> why i'm asking for advice:

Xavyer> gcc -nostdlib -nostartfiles -o /src/glibc/glibc/db2/makedb  -Wl,-dynamic-lin
Xavyer> ker=/lib/ld-linux.so.2   /src/glibc/glibc/csu/crt1.o /src/glibc/glibc/csu/cr
Xavyer> ti.o `gcc --print-file-name=crtbegin.o` /src/glibc/glibc/db2/makedb.o /src/g
Xavyer> libc/glibc/db2/libdb.so.3  -Wl,-rpath-link=/src/glibc/glibc:/src/glibc/glibc
Xavyer> /math:/src/glibc/glibc/elf:/src/glibc/glibc/nss:/src/glibc/glibc/nis:/src/gl
Xavyer> ibc/glibc/db2:/src/glibc/glibc/rt:/src/glibc/glibc/resolv:/src/glibc/glibc/l
Xavyer> inuxthreads /src/glibc/glibc/libc.so.6 /src/glibc/glibc/libc_nonshared.a -lg
Xavyer> cc `gcc --print-file-name=crtend.o` /src/glibc/glibc/csu/crtn.o
Xavyer> /src/glibc/glibc/libc.so.6: undefined reference to `__strtold_internal'
Xavyer> /src/glibc/glibc/libc.so.6: undefined reference to `__printf_fphex'
Xavyer> collect2: ld returned 1 exit status
Xavyer> make[2]: *** [/src/glibc/glibc/db2/makedb] Error 1
Xavyer> make[2]: Leaving directory `/src/glibc/glibc-2.1/db2'
Xavyer> make[1]: *** [db2/others] Error 2
Xavyer> make[1]: Leaving directory `/src/glibc/glibc-2.1'
Xavyer> make: *** [all] Error 2

Read the file BUGS on how to report bugs.

This looks like you've got some files with length zero lying around.
Please always use patch -E or a newer patch version.  For now:
rm `find . -size 0` 
in your source directory and start with a fresh build in the separate
build directory.

Xavyer> Apply patches:

Xavyer>         cd glibc-2.1
Xavyer>         patch -p1 < ../glibc-2.1-2.1.1pre1.diff > ../log.patch.1 2>&1
patch -p1 -E !
Xavyer>         patch -p1 < ../glibc-2.1.1pre1-2.1.1pre2.diff > ../log.patch.2 2>&1
likewise
Xavyer> Check that the patches applied OK:

Xavyer>         less ../log.patch.[12]

Xavyer> Read INSTALL:

Xavyer>         less INSTALL

Xavyer> Prepare for build:

Xavyer>         On my first attempt, I issued the './configure ...' command shown
Xavyer>         below.  I received an error message indicating that it would
Xavyer>         be better to move the '/usr/include' directory out of the way.
Xavyer>         This seemed like a reasonable suggestion to me (at least not
Xavyer>         'un-reasonable'), so that is why I performed the next step.
The message is different, glibc will remove some files, you don't need 
to remove those yourself.
Xavyer>         su - root
Xavyer>         cd /usr
Xavyer>         mv include include.save
Xavyer>         mkdir include
Xavyer>         cd include
Xavyer>         ln -s ../src/linux/include/asm asm
Xavyer>         ln -s ../src/linux/include/linux linux
Xavyer>         exit

Xavyer> Configure for build:

Xavyer>         mkdir glibc
Xavyer>         cd glibc
Xavyer>         ../glibc-2.1/configure \
Xavyer>                 --prefix=/usr \
Fine
Xavyer>                 --host=i686-pc-linux-gnu \
Xavyer>                 --build=i686-pc-linux-gnu \
Just i686-pc-linux-gnu is enough.
Xavyer>                 --enable-add-ons

Xavyer>         (Yes, '--prefix=/usr' is probably not the smartest thing to
Xavyer>         do ... letting 'prefix' default to '/usr/local' yields the same
Xavyer>         error message)

Andreas
- -- 
 Andreas Jaeger   [EMAIL PROTECTED]    [EMAIL PROTECTED]
  for pgp-key finger [EMAIL PROTECTED]

------------------------------

From: llarena <[EMAIL PROTECTED]>
Date: Sun, 09 May 1999 12:40:56 +0100
Subject: Bug on the optimizer

This is a multi-part message in MIME format.
- --------------EE1189F02EBD04ABF5123204
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
&nbsp;
<BR>Hi,
<BR>I include a short program and the compiler output. When any optimization
flag in on, is causes a segmentation fault (core dump) on Red Hat Linux
5.2. I would like to khow the
<BR>possible workarounds.
<P>Greetings,
<BR>&nbsp;&nbsp;&nbsp; Tomas.
<PRE>--&nbsp;
+-----------------------------------------------------------------------+
| Postal 
|Address:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
| 
||&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
| |
&nbsp; Tomas Gonzalez 
Llarena&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp; 
Phone: 00-34-922-28-21-58&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
| San Clemente, 37 
|6&ordm;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
||&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
| |
| Santa Cruz de Tenerife&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
||&nbsp;&nbsp; Email: [EMAIL PROTECTED]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
| 38003&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
|Spain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
||&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
| |
+-----------------------------------------------------------------------+</PRE>
&nbsp;
<P>&nbsp;</HTML>

- --------------EE1189F02EBD04ABF5123204
Content-Type: text/plain; charset=us-ascii; name="bug.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="bug.txt"

// Time-stamp: "Sat May  8 17:27:33 BST 1999"

#include <iostream.h>
#include <math.h>


int main(void)
{
  
  char str[ 80 ];

  
  cout << "pow(2.,2.) = " << pow(2.,2.) << endl; 
  


  return 0;
}

Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/specs
gcc version egcs-2.90.29 980515 (egcs-1.0.3 release)
 /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/cpp -lang-c++ -v -undef -D__GNUC__=2 
-D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=90 -Di386 -D__ELF__ -Dunix -Dlinux 
-D__i386__ -D__ELF__ -D__unix__ -D__linux__ -D__i386 -D__unix -D__linux 
-Asystem(posix) -D__EXCEPTIONS -D__OPTIMIZE__ -Di386 -Asystem(unix) -Acpu(i386) 
-Amachine(i386) -D__i386__ -Asystem(unix) -Acpu(i386) -Amachine(i386) bug.cpp 
/tmp/cca06566.ii
GNU CPP version egcs-2.90.29 980515 (egcs-1.0.3 release) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/g++
 /usr/local/include
 /usr/i386-redhat-linux/include
 /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/include
 /usr/include
End of search list.
 /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/cc1plus /tmp/cca06566.ii -quiet 
-dumpbase bug.cc -O -version -o /tmp/cca06566.s
GNU C++ version egcs-2.90.29 980515 (egcs-1.0.3 release) (i386-redhat-linux) compiled 
by GNU C version egcs-2.90.29 980515 (egcs-1.0.3 release).
 as -V -Qy -o /tmp/cca065661.o /tmp/cca06566.s
GNU assembler version 2.9.1 (i686-pc-linux-gnu), using BFD version 2.9.1.0.15
 /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/ld -m elf_i386 -dynamic-linker 
/lib/ld-linux.so.2 -o bug /usr/lib/crt1.o /usr/lib/crti.o 
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/crtbegin.o 
-L/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29 -L/usr/i386-redhat-linux/lib 
/tmp/cca065661.o -lstdc++ -lm -lgcc -lc -lgcc 
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.90.29/crtend.o /usr/lib/crtn.o


- --------------EE1189F02EBD04ABF5123204--




------------------------------

From: [EMAIL PROTECTED] (Tor Arntsen)
Date: Tue, 11 May 1999 12:11:02 +0200
Subject: Re: when are new versions released?

Andreas Jaeger <[EMAIL PROTECTED]> writes:
>Why are you insulting glibc and egcs developers?  With this attitude
>you don't make yourself welcome and others might ignore you.

Easy now, I didn't see anything in his posting leading to that conclusion.
You've been on the 'net for so long now that you should know that it's too
easy to see negative attitudes where there are none.  A dangerous medium
it is..

Cheers,
- -Tor

------------------------------

From: Matt Adams <[EMAIL PROTECTED]>
Date: Tue, 11 May 1999 06:45:49 +0000
Subject: problems checking egcs v1.1.2

Hey there,

    I'm upgrading my compiler and I've run into a bit of a problem.  The
    compilation works like a charm; however, when I run through the
    checking I manage to create the following errors:

- --begin cut--

    rootme=`pwd`; export rootme; \
    srcdir=../../../../egcs-1.1.2/libio/testsuite ; export srcdir ; \
    EXPECT=`if [ -f ${rootme}/../../expect/expect ] ; then echo   \
    ${rootme}/../../expect/expect ; else echo expect ; fi` ; export EXPECT ; \
    if [ -f ${rootme}/../../expect/expect ] ; then  \
    TCL_LIBRARY=${srcdir}/../../tcl/library ; \
    export TCL_LIBRARY ; fi ; \
    ` if [ -f ${srcdir}/../../dejagnu/runtest ]; then echo 
${srcdir}/../../dejagnu/runtest; else     if [ "i586-pc-linux-gnu" =
"i586-pc-linux-gnu" ]; then echo runtest; else t=''; echo runtest | sed -e '' $t; fi; 
fi`

WARNING: Couldn't find the global config file.
Test Run By root on Tue May 11 06:21:36 1999
Native configuration is i586-pc-linux-gnu

                === libio tests ===

Using ../../../../egcs-1.1.2/libio/testsuite/config/default.exp as  \
tool-and-target-specific description.
Running ../../../../egcs-1.1.2/libio/testsuite/libio.tests/hounddog.exp ...
ERROR: (DejaGnu) proc "libstdc++_include_flags" does not exist.
The error code is

                === libio Summary ===

make[3]: *** [just-check] Error 1
make[3]: Leaving directory `/root/newdl/compile/i586-pc-linux-gnu/libio/testsuite'
make[2]: *** [subdir_do] Error 1
make[2]: Leaving directory `/root/newdl/compile/i586-pc-linux-gnu/libio'
make[1]: *** [check] Error 2
make[1]: Leaving directory `/root/newdl/compile/i586-pc-linux-gnu/libio'
make: *** [check-target-libio] Error 2

- --end cut--

    I'm not exactly sure what's going on here.  I'm running glibc v2.0.6 on
    an i586 (obviously).  Egcs is being compiled by gcc v2.7.2.1

    Any comments or suggestions would be greatly appreciated.

                                                                    Thanks -- Matt

- --
[EMAIL PROTECTED]
"i am a .sig virus, please \
put me in your .sig file"




------------------------------

From: ray f <[EMAIL PROTECTED]>
Date: Wed, 12 May 1999 02:40:09 -0700 (PDT)
Subject: libg++ 2.8.1 with gcc-2.7.2.3

hi

i've recently compiled gcc-2.8.1 but had to revert back to gcc-2.7.2.3.

the question i have now is that i am wishing to use the 
libstdc++-2.8.1 package and was wondering will the gcc-2.7.2.3 and more
specifically, the g++ compiler from that package, be suitable if i
compile and install the new libstdc++?

any help would be greatly appreciated.

ray

_________________________________________________________
Do You Yahoo!?
Free instant messaging and more at http://messenger.yahoo.com

------------------------------

From: ray f <[EMAIL PROTECTED]>
Date: Wed, 12 May 1999 02:49:44 -0700 (PDT)
Subject: more of libstdc++ 2.8.1 on gcc 2.7.2.3

sorry, just another note.

i know that the libstdc++ package documentation says that it should be
used with g++ 2.8.0 or greater, but since i am running libc5 on kernel
2.0.35 and gcc 2.7.2.3 at the moment, is it possible to compile the gcc
2.8.1 package but ONLY to install the g++ binary.

is that possible?

if not, could people point me in the direction of what other bins are
required for g++ to work; ie i'm running gcc2.7.2.3, but what to
compile gcc2.8.1 and ONLY install the g++ compiler;

current system: kernel-2.0.35, gcc/g++ 2.7.2.3, libc5

i want to do this since, when i installed gcc2.8.1 and compiled my
2.0.35 kernel (i dont have enough resources to go to glib2 and kernel
2.2.xx) many things  broke and i've had advice via this newsgroup that
i shouldnt be compiling the 2.0.xx kernels with gcc 2.8.1

thanking you in advance again

ray
_________________________________________________________
Do You Yahoo!?
Free instant messaging and more at http://messenger.yahoo.com

------------------------------

From: Brian Geisel <[EMAIL PROTECTED]>
Date: Wed, 12 May 1999 08:31:22 -0400
Subject: problems with 'packed'

Greetings,
        I've been compiling some programs for quite some time that have had
problems with one of the kernel header files, genhd.h.  They use the
partition structure which used to look like this:

struct partition { yada yada } __((packed))__;

and the compiler freaked out and had (I think) a parse error before the ;. 
Now the new versions (of the kernel) have replaced the __((packed))__ with
((packed)).  I get multiply defined symbol 'packed' in every source file
that includes that file.  Can anyone tell me what's going on.  What is gcc
trying to do, and why might it not be doing it.

I am using 2.8.1, but was having similar if not identical problems with
2.7.2.3.

TIA

geisel

------------------------------

From: [EMAIL PROTECTED] (Eric W. Biederman)
Date: 12 May 1999 19:01:43 -0500
Subject: Re: more of libstdc++ 2.8.1 on gcc 2.7.2.3

>>>>> "rf" == ray f <[EMAIL PROTECTED]> writes:

rf> sorry, just another note.
rf> i know that the libstdc++ package documentation says that it should be
rf> used with g++ 2.8.0 or greater, but since i am running libc5 on kernel
rf> 2.0.35 and gcc 2.7.2.3 at the moment, is it possible to compile the gcc
rf> 2.8.1 package but ONLY to install the g++ binary.

rf> is that possible?
Probably.  It is certainly to have both gcc 2.7.2 and gcc 2.8.x installed.
I currently have: a.out, libc5 & libc6 version of gcc 2.7.2 & gcc 2.8.1

This works because gcc installs itself into /usr/lib/gcc-lib/machine-libc-type/version

The only tricky part is not getting the default gooffed.
But you can alway override the default version with -V2.7.2.3 or -V2.8.1

For C++ I would recommend egcs as it's support of C++ is more complete.

To get the defaults right for gcc & g++ the important thing to save
the old /usr/bin/gcc (before the install) and put it back afterwards.

If you let g++ be the installed version it should default to 2.8.1

Eric



------------------------------

From: [EMAIL PROTECTED]
Date: Wed, 12 May 1999 23:27:37 ric
Subject: Re: problems with 'packed'

I just looked at <linux/genhd.h> (2.0.36) and it has
__attributte((packed)) which I think is the right way to spell it in
unadorned c.  The partition struct was invented for the 8 bit pc, which
had no notion of word alignment, so that is trying to tell the compiler
not to insert slack bytes to make the words line up.  Since it is 8
unsigned char followed by 2 unsigned int, it does line up, but if you
look at a partition record you will see that the struct is misaligned
within the record.  Where did you get your kernel headers? :-)

Oh, tar -tbzf was a typo, of course, I meant tvzf.

Lawson
          >< Microsoft free environment

This mail client runs on Wine.  Your mileage may vary.


On Wed, 12 May 1999, Brian Geisel wrote:

> Greetings,
>       I've been compiling some programs for quite some time that have
had
> problems with one of the kernel header files, genhd.h.  They use the
> partition structure which used to look like this:
> 
> struct partition { yada yada } __((packed))__;
> 
> and the compiler freaked out and had (I think) a parse error before the
;. 
> Now the new versions (of the kernel) have replaced the __((packed))__
with
> ((packed)).  I get multiply defined symbol 'packed' in every source
file
> that includes that file.  Can anyone tell me what's going on.  What is
gcc
> trying to do, and why might it not be doing it.
> 
> I am using 2.8.1, but was having similar if not identical problems with
> 2.7.2.3.
> 
> TIA
> 
> geisel
> 




___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com/getjuno.html
or call Juno at (800) 654-JUNO [654-5866]

------------------------------

From: Brian Geisel <[EMAIL PROTECTED]>
Date: Thu, 13 May 1999 08:33:17 -0400
Subject: Re: problems with 'packed'

> I just looked at <linux/genhd.h> (2.0.36) and it has
> __attributte((packed)) which I think is the right way to spell it in
> unadorned c.  The partition struct was invented for the 8 bit pc, which
> had no notion of word alignment, so that is trying to tell the compiler
> not to insert slack bytes to make the words line up.  Since it is 8
> unsigned char followed by 2 unsigned int, it does line up, but if you
> look at a partition record you will see that the struct is misaligned
> within the record.  

> Where did you get your kernel headers? :-)

<G -- shaking head> from my Deliriou5 imagination.  I suppose I've modified
(all) mine in an attempt to get my normal source to compile.  As I unpack
the latest tarball, I also find that it contains __attribute__((packed)). 
However, it still baffles me why my code won't compile unless I delete it. 
With 2.7.2.3 it was giving me parse errors, I'll buy that if it's because
this was added in 2.8.  It still doesn't make sense to me that 2.8.1 is
giving me "multiply defined symbol": packed.  It really is defined in all
the object files it claims.  That doesn't seem like something that needs
defined as a symbol, but rather an operation the compiler should take.  Am
I wrong and confused? -- perhaps you could answer the former part of that
question, I'm well aware of the answer to the latter <G>

I really don't have a problem deleting it, it doesn't change anything in my
program (since I don't mess with the kernel instances of partition).  I'm
just wondering why it's doing such weird things.

Thanx again
geisel




------------------------------

From: "Martin v. Loewis" <[EMAIL PROTECTED]>
Date: Thu, 13 May 1999 22:37:32 +0200
Subject: Re: problems with 'packed'

> struct partition { yada yada } __((packed))__;

The proper spelling is

 struct partition { yada yada; } __attribute__((packed));

The code you cite is not meaningful; either you didn't copy it
correctly from the kernel source, or somehow your kernel sources got
garbled.

Regards,
Martin

------------------------------

From: [EMAIL PROTECTED]
Date: Thu, 13 May 1999 15:19:36 ric
Subject: Re: problems with 'packed'

I just dropped an include for genhd.h into a trivial program and it
compiles with no problem.  Works too.  hdformat, which needs hdreg.h, is
not at all troubled by also having genhddd.h included.  I didn't test
that, though.  I don't have a spare hd I want to play around with.  I am
pretty sure __attribute((packed)), __attribute((stdcall)), and
__attribute((cdecl)) are sacred to the compiler.  If they weren't nobody
could compile wine.  Well, there is some trouble on solaris with packed,
I think...  Say, do you have a variable or function named packed?  That
might confuse it.  Maybe you could change that one to packard or so? :-)
I could believe 2.7.2.3 giving parse error and 2.8 being more specific
for the same error.

Lawson
          >< Microsoft free environment

This mail client runs on Wine.  Your mileage may vary.

On Thu, 13 May 1999, Brian Geisel wrote:

> > I just looked at <linux/genhd.h> (2.0.36) and it has
> > __attributte((packed)) which I think is the right way to spell it in
> > unadorned c.  The partition struct was invented for the 8 bit pc,
which
> > had no notion of word alignment, so that is trying to tell the
compiler
> > not to insert slack bytes to make the words line up.  Since it is 8
> > unsigned char followed by 2 unsigned int, it does line up, but if you
> > look at a partition record you will see that the struct is misaligned
> > within the record.  
> 
> > Where did you get your kernel headers? :-)
> 
> <G -- shaking head> from my Deliriou5 imagination.  I suppose I've
modified
> (all) mine in an attempt to get my normal source to compile.  As I
unpack
> the latest tarball, I also find that it contains
__attribute__((packed)). 
> However, it still baffles me why my code won't compile unless I delete
it. 
> With 2.7.2.3 it was giving me parse errors, I'll buy that if it's
because
> this was added in 2.8.  It still doesn't make sense to me that 2.8.1 is
> giving me "multiply defined symbol": packed.  It really is defined in
all
> the object files it claims.  That doesn't seem like something that
needs
> defined as a symbol, but rather an operation the compiler should take. 
Am
> I wrong and confused? -- perhaps you could answer the former part of
that
> question, I'm well aware of the answer to the latter <G>
> 
> I really don't have a problem deleting it, it doesn't change anything
in my
> program (since I don't mess with the kernel instances of partition). 
I'm
> just wondering why it's doing such weird things.
> 
> Thanx again
> geisel
> 
> 
> 
> 




___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com/getjuno.html
or call Juno at (800) 654-JUNO [654-5866]

------------------------------

From: "Martin v. Loewis" <[EMAIL PROTECTED]>
Date: Thu, 13 May 1999 22:41:46 +0200
Subject: Re: problems checking egcs v1.1.2

>     I'm upgrading my compiler and I've run into a bit of a problem.  The
>     compilation works like a charm; however, when I run through the
>     checking I manage to create the following errors:

My first guess is that you should upgrade your DejaGnu installation.

Regards,
Martin

------------------------------

From: [EMAIL PROTECTED]
Date: Fri, 14 May 1999 01:43:50 ric
Subject: Re: problems with 'packed'

On Thu, 13 May 1999, Brian Geisel wrote:

> 
> <G -- shaking head> from my Deliriou5 imagination.  I suppose I've
modified
> (all) mine in an attempt to get my normal source to compile.  As I
unpack
> the latest tarball, I also find that it contains
__attribute__((packed)). 
> However, it still baffles me why my code won't compile unless I delete
it. 
> With 2.7.2.3 it was giving me parse errors, I'll buy that if it's
because
> this was added in 2.8.  It still doesn't make sense to me that 2.8.1 is
> giving me "multiply defined symbol": packed.  It really is defined in
all
> the object files it claims.  That doesn't seem like something that
needs

Defined how?  I couldn't get it to choke on a function packed() (this is
2.7.2.3, but with both packed() and <linux/genhd.h> it compiles with no
errors, not even the dread syntax error. :-)  __attribute((packed)) is
just that, an attribute of the struct, that just affects how the
compiler treats it, and it shouldn't conflict with a
definition.  It worries me that I can't get the same error out of gcc
2.7.2.3 that you got.  I guess my model must be faulty in some way.

Lawson

> defined as a symbol, but rather an operation the compiler should take. 
Am
> I wrong and confused? -- perhaps you could answer the former part of
that
> question, I'm well aware of the answer to the latter <G>
> 
> I really don't have a problem deleting it, it doesn't change anything
in my
> program (since I don't mess with the kernel instances of partition). 
I'm
> just wondering why it's doing such weird things.
> 
> Thanx again
> geisel
> 
> 
> 
> 




___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com/getjuno.html
or call Juno at (800) 654-JUNO [654-5866]

------------------------------

From: Ulrich Drepper <[EMAIL PROTECTED]>
Date: 17 May 1999 18:50:48 -0700
Subject: glibc 2.1.1pre3

Hi,

I thought 2.1.1pre2 would be the last test release but I had to
implement one new feature and we got a number of bug reports.  So I've
made 2.1.1pre3.  The files

        glibc-2.1.1pre3.tar.gz                  (or .bz2)
        glibc-2.1.1pre2-2.1.1pre3.diff.gz       (or .bz2)
        glibc-linuxthreads-2.1.1pre3.tar.gz     (or .bz2)

are now available at

        ftp://sourceware.cygnus.com/pub/glibc
        ftp://alpha.gnu.org/gnu
        ftp://ftp.XX.kernel.org/pub/software/libs/glibc

(where XX is your country code).


Beside fixing all critical bugs reported we've fixed many memory leaks
in the NIS+ code (you can now have programs running for a long time
though nisplus is in your nsswitch.conf file), two new functions
(getutmp, getutmpx) which are also available on Solaris, dynamic
string tokens are now also allowed in dlopen() parameters and
DT_NEEDED entries, LD_BIND_NOW now also influences dlopen() and a few
performance optimizations (yeah, even more).


Please give it a try and report back so that we finally can release 2.1.1.

Thanks,

- -- 
- ---------------.      drepper at gnu.org  ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Cygnus Solutions `--' drepper at cygnus.com   `------------------------

------------------------------

From: [EMAIL PROTECTED] (Leslie F. Donaldson)
Date: Thu, 20 May 1999 15:19:28 -0500
Subject: Linking libc on glibc system

Hello,
  I do I tell egcs to use older libc and ld.so when linking.
I need to create a libc executable but I don't want
to reinstall to OS to a libc Distribution?

Thanks
Leslie DOnaldson

P.s. all file are in correct locations. ergo both libc's are in /lib

/----------------------------\ Current Contractor: Onsite Engineering  
|    Leslie F. Donaldson     | Current Customer  : Entergy - Nuclear GGNS
|    Computer Contractor     | Skills: Unix/OS9/VMS/Linux/SUN-OS/C/C++/assembly
| Have Computer will travel. | Curr   : http://www.cs.rose-hulman.edu/~donaldlf
\----------------------------/ Current Email  : [EMAIL PROTECTED]
Goth Code V1.1: GoCS$$ TYg(T6,T9) B11Bk!^1 C6b-- P0(1,7) M+ a24 n--- b++:+
                H6'11" g m---- w+ r+++ D--~!% h+ s10 k+++ R-- Ssw LusCA++


------------------------------

From: Pierre Morel <[EMAIL PROTECTED]>
Date: Fri, 21 May 1999 10:39:25 +0000
Subject: C++ compiler cannot create executables 

Hi all,

Here is what I get when I try to compile cqcam and vic:

# ./configure
loading cache ./config.cache
checking host system type... i586-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for c++... no
checking for g++... no
checking for gcc... gcc
checking whether the C++ compiler (gcc  ) works... no
configure: error: installation or configuration problem: C++ compiler
cannot create
executables.

It surprised me because I can compile the kernel without any problems.
But I don't understand
anything about C programming and compiling so it might be normal...
I've a RedHat 5.2 with kernel 2.2.6. Here are a few infos about my
system that might be
useful:
# gcc --version
egcs-2.91.66

libc-2.1.1.so

# ldd -v
ldd: version 1.9.9

libg++.so.2.7.2.8

moreover there is a directory named g++ in /usr/include with loads of .h
and .cc

Is there something I miss ??
Thanks for helping.




------------------------------

From: [EMAIL PROTECTED] (H.J. Lu)
Date: Sat, 22 May 1999 11:10:47 -0700 (PDT)
Subject: binutils 2.9.1.0.25 is released.

Hi,

A P/3 bug is fixed.

- -- 
H.J. Lu ([EMAIL PROTECTED])
- ---
This should be final release for binutils 2.9.1.0.x based on binutils
2.9.1. I am planning to release to public this weekend. Please test it
as much as you can. Thanks.

This is the beta release of binutils 2.9.1.0.25 for Linux, which is
based on binutils 2.9.1 plus Linux/ARM support, some x86 assembler
changes, some PPC bug fixes, some alpha bug fixes and an exception
frame optimization bug fix.

Due to the exception frame optimization bug fix, it is highly
recommended that you recompile all your C++ codes. Otherwise,
exception handling may not work right when an exception is thrown.

Since I no longer have machine running libc 5, starting from this
release, there will be no pre-compiled binaries for libc 5.

There was some problem on Linux/alpha. The binaries generated by the
new binituls may not run correctly on Linux/alpha. It turned out it was
a bug in the alpha dynamic linker in glibc 2.0.6. The current glibc 2.1
and glibc 2.0.7 should be ok.

This release should work on linux/x86/alpha. There are some ELF bug
fixes. But I don't know if it fixes all the bugs reported on
linux/sparc, Linux/MIPS and linux/PPC. I'd like to hear reports on them.
I'd like to release it to public soon. Please test it as much as you
can.

Please report any bugs related to binutils 2.9.1.0.25 to [EMAIL PROTECTED]

Changes from binutils 2.9.1.0.24:

1. Fix a Pentium/III bug.

Changes from binutils 2.9.1.0.23:

1. Fix a Sparc asm bug.
2. Fix an i370 BFD typo.
3. Fix an alpha asm bug.
4. Fix a PPC bug.
5. Fix an objcopy bug.

Changes from binutils 2.9.1.0.22:

1. Fix i386 disassembler for fwait.
2. Add "-j section" for objcopy.
3. Bug fix for linker. It should work for Linux/PPC now.
4. Add armlinux_vec for ARM/ELF.
5. Update gas documation for i386.
2. Fix an i370 BFD typo.
3. Fix an alpha asm bug.
4. Fix a PPC bug.
5. Fix an objcopy bug.
6. Bug fixes for Sparc/ELF.
7. Bug fixes for IBM 370.
8. Added gas documation for IBM 370.

Changes from binutils 2.9.1.0.21:

1. Add Pentium III support.
2. Add IBM 370 suppport.
3. Fix the weak undefined symbol handling.

Changes from binutils 2.9.1.0.20:

1. Ada demangle support.
2. Don't merge weak undefined symols with definitions from a shared 
object when building shared object. Only for ELF.
3. Fix a 16bit x86 gas bug.

Changes from binutils 2.9.1.0.19a:

1. Enable ld for Solaris/x86.
2. Fix an ELF/i386 bfd/linker bug.
3. Fix a BFD bug.
4. Fix the ELF aligment.
5. Fix an AMD 3DNow! bug.
6. Fix ELF/x86 8/16-bit relocation bug.
7. Add --redefine-sym=old_form=new_form to objcopy.
8. Update cplus-dem.c from the egcs snapshot.
9. Support new Pentium II instructions.
10. Add --demangle/--no-demangle to ld.

Changes from binutils 2.9.1.0.21:

1. A PPC DWARF2 EH patch for gas.

Changes from binutils 2.9.1.0.19:

1. Allow '.' in the middle of a symbol name for the versioning script.

Changes from binutils 2.9.1.0.17:

1. An ELF bug fix.

Changes from binutils 2.9.1.0.16:

1. Some Linux/Sparc64 patches.
2. A shared library linking patch.
3. Update cplus-dem.c from egcs 1.1.1 release.

Changes from binutils 2.9.1.0.15:

1. Update cplus-dem.c from egcs 1.1.1 prerelease.
2. Fix ARM bugs.
3. Fix MIPS/ELF bugs.
4. Fix an objdump bug.

Changes from binutils 2.9.1.0.14:

1. Update the program header handling bug fix from the binutils
   snapshot.
2. Added AMD 3DNow! support to disassembler.

Changes from binutils 2.9.1.0.13:

1. An ELF bug fix for program header handling.
2. Added AMD 3DNow! support.
3. Add some vxworks suppport.
4. Fix ld on none-linux platforms.

Changes from binutils 2.9.1.0.12:

1. An ELF/alpha bug fix for creating large shared libraries.
2. An ELF/PPC bug fix.

Changes from binutils 2.9.1.0.11:

1. Use the real fix from Ian for the exception frame optimization bug.

Changes from binutils 2.9.1.0.10:

1. Fix an exception frame optimization bug.

Changes from binutils 2.9.1.0.9:

1. Fix another -Bsymbolic bug for Linux/alpha.

Changes from binutils 2.9.1.0.7:

1. Fix -Bsymbolic for Linux/alpha.
2. Fix a 16bit x86 gas bug.

Changes from binutils 2.9.1.0.6:

1. Fix various ARM bugs.

Changes from binutils 2.9.1.0.5:

1. A MIPS assembler ".align" bug is fixed.
2. bfd.h, bfd.h and bfdlink.h are included in the binary package.

Changes from binutils 2.9.1.0.4:

1. 2 x86 16bit mode assembler bugs, "ret" and "movb $35,0x4(%di)", are
fixed.

IMPORTANT:
The .plt format that the Alpha was using was not thread safe.  So I 
changed it.  The new format is *not* binary compatible with the old,
thus you must use glibc 2.0.4 to get an ld.so that can understand it.

Note that the new ld.so knows how to deal with the old .plt format, so
old libraries will still work, but they should be relinked eventually
for performance reasons.

The file list:

1. binutils-2.9.1.0.25.tar.gz. Source code.
2. binutils-2.9.1.0.24-2.9.1.0.25.diff.gz. Patch against the previous
   beta source code.
3. binutils-2.9.1.0.25-glibc.x86.tar.gz. Precompiled Linux/x86 binaries
   for libc 6 (glibc 2.0.7 1998-12-11 or above).
4. binutils-2.9.1.0.25-alpha.tar.gz. Precompiled Linux/alpha binaries
   for glibc 2.0.7 1998-12-11 or above.
5. binutils.spec. A RPM spec file for RedHat 5.2 and 6.x.

The primary ftp sites for the Linux binutils are:

1. ftp://ftp.varesearch.com/pub/support/hjl/binutils
2. ftp://ftp.kernel.org/pub/linux/devel/gcc

The beta directory is in private/tofu under the GCC directory.
 
To install the binary package, please follow the procedure very closely.
Please backup/save all the files you are instructed to delete and you
should do
 
        gzip -dc binutils-2.9.1.0.25-glibc.x86.tar.gz | tar tvvf -
or
        gzip -dc binutils-2.9.1.0.25-alpha.tar.gz | tar tvvf -
 
to see what is in there.
 
Please do back up before you remove things.

To install for libc 6 (glibc 2.0.7 1998-12-11 or above), PLEASE DO
 
1. su root
2. cd /
3. rm -f /usr/bin/encaps /usr/bin/nm
4. gzip -dc binutils-2.9.1.0.25-glibc.x86.tar.gz | tar xvvf -
5. ldconfig
 
Now you have the new gas/binutils under /usr/bin and
/usr/ix86-linuxaout/bin. You have to use
 
/usr/ix86-linuxaout/bin/as
 
and
 
/usr/ix86-linuxaout/bin/ld -m i386linux
 
if you want to use a.out as and ld directly.
 
To install for alpha, PLEASE DO
 
1. su root
2. cd /
3. gzip -dc binutils-2.9.1.0.25-alpha.tar.gz | tar xvvf -
4. ldconfig
 
I have changed the target names for Linux/x86 and Linux/x86 (a.out)
to ix86-linux and ix86-linuxaout respectively. The precompiled
binaries are installed under /usr/ix86-linux and /usr/ix86-linuxaout.
You should make appropriate symbolic links if you have a different
name for the Linux/x86 target, like i586-unknown-linux.

The target name for Linux/alpha is alpha-linux. The precompiled alpha
binaries are installed under /usr/alpha-linux. You should make
appropriate symbolic links if you have a different name for the
Linux/alpha target, like alpha-redhat-linux.

If you have an old linux library in the a.out format and you cannot
obtain the newer version in the ELF format for whatever reason, you
can try "objcopy --remove-leading-char" on the a.out library and see
if it can link with your code in ELF.

Thanks.


H.J. Lu
[EMAIL PROTECTED]
05/22/99

------------------------------

End of linux-gcc-digest V1 #393
*******************************

To subscribe to linux-gcc-digest, send the command:

        subscribe linux-gcc-digest

in the body of a message to "[EMAIL PROTECTED]".  If you want
to subscribe something other than the account the mail is coming from,
such as a local redistribution list, then append that address to the
"subscribe" command; for example, to subscribe "local-linux-gcc":

        subscribe linux-gcc-digest [EMAIL PROTECTED]

A non-digest (direct mail) version of this list is also available; to
subscribe to that instead, replace all instances of "linux-gcc-digest"
in the commands above with "linux-gcc".

Reply via email to