Quick and dirty malloc() support for realpath.

Ricard Wanderlof ricard.wanderlof at axis.com
Wed Oct 28 07:10:07 UTC 2009


On Tue, 27 Oct 2009, Rob Landley wrote:

>> On Mon, 26 Oct 2009, Rob Landley wrote:
>>> ... Also, in my experience _Bool is about as real-world useful as the
>>> bit field notation with the colons, and is really there to keep the
>>> language pedants and the c++ guys happy without actually accomplishing
>>> much.  I've never seen it actually produce better code.
>>
>> It can produce more readable, less error-prone C code though. We use
>> hardware register definitions such as
>>
>> typedef struct {
>>    unsigned int x : 8;
>>    unsigned int y : 8;
>>    unsigned int control_bit : 1;
>>    unsigned int dummy1  : 15;
>> } reg_foo;
>>
>> at great length for the C definitions for the registers in our chips, and
>> it really does avoid nasty errors that crop up when using shifting and
>> masking.
>
> And introduces new nasty errors when "unspecified by the standard" details such
> as endianness change.
> [ ... ]
> You're fine if all the world's a VAX, but uClibc, busybox, and the Linux kernel
> tend to like working on things like powerpc and mips.

You're right, probably not useful in the general case, I was really 
commenting on the 'without actually accomplishing much' bit. In the case 
of a specific processor or system-on-chip endianess doesn't change and 
often the same compiler is used at all times. I'd agree there might be
issues for a general piece of software, such as uClibc.

/Ricard
-- 
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30


More information about the uClibc mailing list