[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian/sparc problems (and solutions?)



Hi,

I'm the guy who started to make a mess by uploading new stuff ;-)

I've uploaded glibc, egcs and some by glibc 2.0.95 broken c++ stuff 
like dpkg :-/

egcs seems reasonably ok and glibc has some quirks (see below). I will work
on a fixed glibc, recompile the latest egcs and provide a recent kernel-patch
and kernel package to cover the basics. Afterwards I will look into the 
essential and base outdated packages (which should be few) and try to get 
something done in the bootdisks area. 

On Fri, Sep 25, 1998 at 01:01:06AM -0500, Michael Shuey wrote:
> The menu package will finally compile now, assuming you fix what is (I think)
> a bug in libc6-dev.  As near as I can tell it works just fine, as do several
> other c++ programs that weren't compiling before.
> 
> Several things written in C++, including menu and apt, weren't compilable last
> I checked.  I had some time and I think I know why.  In
> /usr/include/bits/sigaction.h there is a function pointer declared as a
> member of a struct:
>     void (*sa_restorer) __P ((void));
> __P is defined as a macro to recognize function prototypes.  Normally this just
> returns its arguments, resulting in valid code.  However, with glibc2.1 a C++
> compiler that supports exceptions (currently only g++ 2.8 and up and egcs) the
> __P macro is defined as:
>     #define __P(args)	args throw ()
> This is an attempt at making the compiler do some exception optimization for
> function prototypes and is normally a good thing (well, presumably).  However,
> a function pointer isn't a function prototype, so throw() isn't really valid
> in that syntax.  The __P probably shouldn't be used.  If you're having trouble
> compiling something with sigaction.h, try changing that line (line 37) to:
>     void (*sa_restorer) (void);
> This has been working fine for me.

It's a bug in the Sparc part of glibc 2.0.95. David Miller hasn't updated the 
sigaction.h file yet. The other architectures read __PMT in their sigaction.h
I update sigaction.h to use __PMT too.

Additionally I will change the conflicts with libc5 to use our special libc5
5.3.12 instead of 5.4.33. This should take care of the annoying libc5 
conflict.

Greetings,


				Christian

-- 
Christian Meder, email: meder@isr.uni-stuttgart.de
 
What's the railroad to me ?
I never go to see
Where it ends.
It fills a few hollows,
And makes banks for the swallows, 
It sets the sand a-blowing,
And the blackberries a-growing.
                      (Henry David Thoreau)
 


Reply to: