Is replacing alloca(3) where possible a good thing to do?
Pedro Giffuni
pfg at FreeBSD.org
Wed Sep 14 19:47:14 UTC 2016
Hello;
On 14/09/2016 14:14, Cedric Blancher wrote:
> dtrace can do VLA
>
> Are there other arguments?
It was a while ago and I don't remember other than the fact that
alloca() exists on all platforms and just works fine so why bother.
This was only a discussion in the context of printf(1) and as I wrote we
parted different ways there. If there are other notable cases then
please upstream those changes first.
Pedro.
> Ced
>
> On 14 September 2016 at 21:11, Pedro Giffuni <pfg at freebsd.org> wrote:
>>
>> On 14/09/2016 13:54, Cedric Blancher wrote:
>>> Who was the "principal Illumos developer"? I remember some heated
>>> discussions, mostly rooted in 'we stick with ANSI C' and because the
>>> CTF/dwarf tools in Illumos were unable to handle VLA and no one was
>>> interested in fixing the BUGS in their toolchain, so the cheapest
>>> solution was done: VLA was declared persona non grata. Saves company
>>> money.
>>
>> Yes, the non-accessibility of VLAs for Dtrace was the main argument. This
>> was a private conversation with Garrett D'Amore who did some nice
>> enhancements to our printf(1).
>>
>>> Typical Sun policy which was one of the reasons which sealed the
>>> downfall of Sun Microsystems.
>>>
>>> But this is NO ARGUMENT for FreeBSD...
>>
>> Our printf(1) implementation has all their enhancements but uses a VLA
>> instead of alloca.
>>
>> This said, whatever illumos wants to keep in their code is relevant as we
>> want to make it easy to merge ZFS and Dtrace changes back and forth.
>>
>> Pedro.
>
>
More information about the freebsd-hackers
mailing list