Why very little documentation on "ifunc"?

Mayuresh Kathe mayuresh at kathe.in
Sat Mar 30 04:09:39 UTC 2019


On 2019-03-30 08:59 AM, Polytropon wrote:
> On Sat, 30 Mar 2019 07:28:23 +0530, Mayuresh Kathe wrote:
>> Ever since I stumbled upon "ifunc" I have been unable to find good
>> enough documentation regarding it under FreeBSD, that was till "Ed
>> Maste" pointed out;
>> https://jasoncc.github.io/gnu_gcc_glibc/gnu-ifunc.html
>> 
>> "ifunc" seems to be a really good tool, wonder why it isn't as well
>> documented as rest of the stuff under FreeBSD.
> 
> From what I see, ifunc is part of GCC, and FreeBSD does no longer
> use GCC as the system compiler (after switching to Clang/LLVM).
> The case for ifunc documentation therefore has to be discussed
> primarily in the context of GNU development tools.
> 
> 	https://sourceware.org/glibc/wiki/GNU_IFUNC
> 
> Of course, Clang/LLVM also has (limited) support for it:
> 
> 	https://clang.llvm.org/docs/AttributeReference.html#ifunc
> 
> So this is nothing FreeBSD-specific which should be covered by
> OS documentation in the first place. But it could maybe find a
> place in the FreeBSD Porter's Handbook.

Not really, as "Ed Maste" had pointed out to me, "ifunc" was only 
_designed_ by GNU, the "ifunc" implementation under FreeBSD is 
completely native to FreeBSD.

I was first directed to "ifunc" by someone called "kostik" on the 
freebsd-tech mailing list.
I could find nothing about it under the FreeBSD documentation or even 
via Google, but that was because I was being FreeBSD specific. I asked 
"Ed Maste" about it and he shared that URL I had put out in my first 
email.

It's sad that an advanced technology such as "ifunc" is not even 
documented in the Developer's Handbook.

~Mayuresh


More information about the freebsd-questions mailing list