Summary: base configure script does not detect nonfragile ABI
                 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



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
-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]


$ 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:


  Message sent via/by Savannah

Bug-gnustep mailing list

Reply via email to