Why would people want to recompile libc?

geir

On Oct 7, 2005, at 12:16 PM, Dan Lydick wrote:


It seems that not all versions of 'libc' are compiled
with the same flags.  Furthermore, the edition that I
am using (GCC 3.3.3 on Solaris 9) apparently does not
use all the same flags all the way around.  I am
suspicious of this because I was able to compile
everything but code that used fprintf(3) and sprintf(3)
with -fpack-struct, yet had to compile code that
invoked those library(3) calls _without_ it!  I am
really interested to see what other permutations of
this problem we find, and what solutions might present
themselves.

Probably making _absolutely_ sure that this problem
goes away with a recompile of 'libc' is a very good
idea, whether considering optimization or not.  But
optimization itself is a long way down the road on
the code I put together.  I still have one module
that I'm finishing up, which Geir is aware of.  But
let's keep this 'libc' question on the table because
surely other people are going to run into it when
they look at the code and try compiling.


Dan Lydick


[Original Message]
From: Enrico Migliore <[EMAIL PROTECTED]>
To: <[email protected]>
Date: 10/7/05 2:12:05 AM
Subject: Re: opinions on structure packing in C?



I'm working with Dan's bootVM to get to run on Windows, and have been
thinking about the use of -fpack-struct vs #pragm pack() vs just not
packing and writing code that is a little slower, and a little more
verbose, but seemingly more robust and maintainable due to less
information about context needed to avoid surprises.

I've reconfirmed that packing structs is deadly when you want to call
into standard libs

struct stat foo;

stat("foo.txt", &foo);

does some bizarre things :)

So how do people deal with this these days?  I know fashions change,
and I haven't done C in anger for > 6 years...  (I still have the
shakes when looking at it - I'm past the screaming stage...)

geir


hi,

We should compile the code using the same C flags that the libc uses.

Parameter marshalling is another source of problems: if we want to
optimize
our C code for speed (parameters passed through registers), we will
have to recompile the libc.

 Enrico






--
Geir Magnusson Jr                                  +1-203-665-6437
[EMAIL PROTECTED]


Reply via email to