[ping] [PATCH] Use EXEEXT and -no-undefined flag even on Unix.

NIIBE Yutaka gniibe at fsij.org
Fri Nov 18 00:20:14 CET 2016


On 11/17/2016 06:08 PM, Michael Haubenwallner wrote:
>> Your change effects not only Cygwin but also other POSIX systems,
>> because you remove the Make variable of no_undefined to force
>> -no-undefined flag.   It's good for Cygwin, but it's too radical
>> for other systems.
> 
> While I'm fine with the no_undefined=-no-undefined workaround, would
> you mind to elaborate why it's too radical for other systems?

Your change has an impact to other systems.  When you don't know how
large the impact is, please be conservative and be more careful.

Please note that libgpg-error uses libtool for its build.  And libtool
has the option "-no-undefined" because there are some systems where
undefined symbols are valid or even needed.

For example, (at least) I know the user space implementation of shared
library for a.out format where it's inevitable to have undefined
symbols.

Please note that shared library feature is not standardized for POSIX
systems.  I think that we have libtool for this exact reason.  For
detail, please see:

    https://www.gnu.org/software/libtool/manual/html_node/index.html

For modern systems of ELF, System V Application Binary Interface
defines the shared object format and its semantics.  (17 years ago, I
made one for SuperH architecture together with my friend,
independently to its vendor.  Around that time, some people insisted
that static linking is only good for embedded systems.)

Well, I agree with you that your claim (no undefined symbols) are
valid for most of modern systems.  On the other hand, I would like to
support other systems as well.
-- 



More information about the Gnupg-devel mailing list