tech-toolchain archive

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

Re: libelf

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

That can't be done with an truly opaque FILE; any code that uses those
#defines has to have the underlying type visible enough to know its
size at the very least.

> If all you have is operations on a pointer, you can change the
> representation behind the pointer freely.

Well, provided your changes don't change the ABI - for example,
switching to "#define FILE void" for stdio would change the ABI on
machines where void * is wider than struct pointers.

> It is silly to argue about whether this problem exists.

Oh, certainly.  This discussion has veered off into mostly-theoretical
weeds, and I think we agree on the pieces we're still discussing.

/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML      
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B

Home | Main Index | Thread Index | Old Index