Why very little documentation on "ifunc"?

Paul Pathiakis pathiaki2 at yahoo.com
Sat Mar 30 05:13:03 UTC 2019


 Hi,
Simply put, it's part of the GNU tool chain.  Most (if not all) of FreeBSD's user space is POSIX compliant and a lot of things that are no longer 'optimal' have been rewritten to be more efficient.  As time went on, it seemed to me that most everything GNU was getting well, slower and larger.... and 'extended' beyond POSIX.  Added functionality is nice at times, but when you expect something to work in a certain way and someone has added features or written something in BASH and made use of those extensions, well, it will only run under BASH.  However, anything written to comply with a 'standard' such as 'sh' scripting, will run on anything with sh as well as bash.
Extending functionality makes things non-compliant with the standard.  Examples of this in the past was Microsoft adding their extensions to JAVA which made it incompatible with all other standards compliant versions of Java.
Another example would be the Oracle Database SQL and/or MS SQL versus the POSIX compliant DB known as PostGreSQL.  Anything that runs on PostGreSQL will run under the others (well, pretty much) but the reverse is not true especially if the are proprietary extensions.

More examples would be gawk vs awk, gsed vs sed, etc.  The ability to move in both directions is no longer true. 

 With the advent of putting in LLVM CLANG compiler, most of the GNU toolchain has been put in the GCC port.  Now, since it is a port, a lot of 'ports' and their pkg counterparts are just templated to fit into the the /usr/local/ hierarchy along with modifying some simple files for start/stop manipulation.  This includes all of the man pages that are not written by FreeBSD but by the people who created the software.... for example a lot of the GNU utilities have man pages that just aren't as well-written as the constantly reviewed man pages on FreeBSD.
Although people can be enthusiastic about writing something that they want the world to see, the FreeBSD project seems to be excited about churning out a good product that in all aspects exceeds most peoples expectations.  No one is scared to run a x.0 release from FreeBSD.  It's due to an ongoing QA and Release process and the simple ability to not push out crap code to meet some artificial deadline.  However, other OS or even just kernels from other projects scare the heck out of people on release.  The amount of bugs, exploits, etc.... are an order of magnitude or more.... and no, it's not because no one uses it.... If you look at who is basing their products on FreeBSD, it's pretty obvious that they are 'The Unknown Giant' of operating systems.
P.

    On Friday, March 29, 2019, 11:00:55 PM EDT, Mayuresh Kathe <mayuresh at kathe.in> 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.

~Mayuresh
_______________________________________________
freebsd-questions at freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
  


More information about the freebsd-questions mailing list