[bug #53338] base configure script does not detect nonfragile ABI correctly

Graham Lee <[email protected]>
Newsgroups gmane.comp.lib.gnustep.bugs
Message-ID <[email protected]>
URL:
  <http://savannah.gnu.org/bugs/?53338>

                 Summary: base configure script does not detect nonfragile ABI
correctly
                 Project: GNUstep
            Submitted by: leeg
            Submitted on: Tue 13 Mar 2018 09:34:29 PM UTC
                Category: Base/Foundation
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

Platform: linux (fedora core 27)
Compiler: clang 5.0.1
ObjC runtime: libobjc2

GNUstep-make was configured with '--enable-objc-nonfragile-abi'. I see in the
gnustep-config output:

$ gnustep-config --objc-flags
-MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1
-DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing -fexceptions
-fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fobjc-nonfragile-abi
-D_NONFRAGILE_ABI -pthread -fPIC -g -DDEBUG -fno-omit-frame-pointer -Wall
-DGSWARN -DGSDIAGNOSE -Wno-import -fobjc-runtime=gnustep-1.8.1 -fblocks
-fobjc-runtime=gnustep-1.8.1 -fgnu-runtime
-fconstant-string-class=NSConstantString -I.
-I/home/leeg/GNUstep/Library/Headers -I/usr/local/include

GNUstep-base configure script, when configured either with no flags or with
--disable-mixedabi, does not detect the nonfragile abi. Then building -base
fails, because I requested the nonfragile ABI but it can't find it. I find
that if I compile the test program:

$ clang config/config.non-fragile-ivars.m
$ ./a.out
$ echo $?
1 [i.e. no nonfragile ABI detected]

however:

$ clang -fobjc-runtime=gnustep-1.8.1 config/config.non-fragile-ivars.m
$ ./a.out
$ echo $?
0 [i.e. it was detected!]

If I edit GSConfig.h by hand to change GS_NONFRAGILE=1, then -base builds and
'make check' succeeds.

The expected behaviour is that ./configure correctly detects the nonfragile
ABI availability.




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?53338>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.