discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gworkspace with non-fragile abi, etc?


From: David Chisnall
Subject: Re: Gworkspace with non-fragile abi, etc?
Date: Wed, 28 Aug 2013 09:06:50 +0100

On 27 Aug 2013, at 21:06, Fred Kiefer <fredkiefer@gmx.de> wrote:

> ou results for the non-fragile API look horrible. To me this looks like
> a compiler optimisation bug. Sorry I wont be able to help here. But with
> a little lick we may be able to catch David's attention. For this reason
> I deleted the rest of the mail and left just that part in it


That's entirely possible.  I'd recommend trying clang 3.3 instead of a random 
svn version of 3.4: there may well be bugs introduced that are fixed one or two 
versions later, and unless you're interested in debugging the compiler it's not 
worth the effort to bisect.  

Using -fobjc-nonfragile-abi will give you quite a conservative feature set (I 
think it's limited to those supported by version 1.5 of the runtime, but I 
don't remember exactly).  I'd recommend using -fobjc-runtime=gnustep-1.7 
instead.  The property test failures that you're seeing are as a result of this.

The last time I ran the GWorkspace code through the static analyser, there were 
a lot of cases where it was depending on undefined behaviour, so you may be 
hitting one of these.  Are there any warnings when GWorkspace is built?

You should be aware that gdb currently doesn't understand the non-fragile ABI, 
so inspecting ivars won't always work.  

David

> 
> Fred
> 
> On 26.08.2013 09:21, Lee, Seong-Gu wrote:
>> PS) Belows are my stupid test configuation which can be neglected.
>> However, it is thanksful for anyone to find any faults. I cannot confirm
>> these occur at any environemnt.
>> 
>> As build switches are suspected, varied configurations were tested.
>> "1." is fragile abi and non-debug, "2." is non-fragile abi and non-debug
>> configuration and "3." is non-fragile abi and debug-default.
>> 
>> To summerize tests below,
>> 
>>                      non-debug               debug-default
>> 
>>                      "1."
>> fragile-abi  base: 7815 test passed          not tested
>>              gui: 989 test passed
>>              gworkspace : build OK
>>                           execute OK
>> 
>>                      "2."                            "3."
>> non-fragile  base: 3865 test passed          base: 7838 test passed
>>              gui: 668 test passed            gui : 989 test passed
>>              gworkspace : build Fail         gworkspace : build OK
>>                                                          execute Fail
>> 
>> ----------------------------------------------------------------------
>> 1. fragile abi and non-debug (
>> http://wiki.gnustep.org/index.php/Building_GNUstep_with_Clang )
>> (1) gnustep-make
>> ./configure CC=clang LD=gcc && make CC=clang LD=gcc && sudo -E make install
>> 
>> (2) libobjc2
>> make CC=clang CXX=clang++ LD=gcc && sudo -E make install
>> 
>> (3) gnustep-base
>> ./configure CC=clang CXX=clang++ LD=gcc && make CC=clang CXX=clang++
>> LD=gcc && sudo -E make install
>> make check
>>      ...
>> base/NSArray/basic.m:
>> Skipped set:       basic.m 46 ... No collection subscripting support in
>> the compiler.
>> 
>> base/NSArray/blocks.m:
>> Skipped set:       blocks.m 62 ... No Blocks support in the compiler.
>>      ...
>> --- Running tests in base/NSDictionary ---
>> 
>> base/NSDictionary/basic.m:
>> Skipped set:       basic.m 41 ... No dictionary subscripting support in
>> the compiler.
>> 
>> base/NSDictionary/blocks.m:
>> Skipped set:       blocks.m 49 ... No Blocks support in the compiler.
>>      ...
>> base/NSMutableIndexSet/blocks.m:
>> Skipped set:       blocks.m 83 ... No Blocks support in the compiler.
>>      ...
>>   7815 Passed tests
>>     21 Dashed hopes
>>      5 Skipped sets
>> 
>> All OK!
>> 
>> ( When make check OBJCFLAGS="-fblocks -fobjc-non-fragile-abi" was used,
>> 7838 test passed as like non-fragile abi and debug-default. )
>> 
>> (4) gnustep-gui
>> make check
>>      ...
>>    989 Passed tests
>>      4 Dashed hopes
>> 
>> All OK!
>> 
>> (4) GWorkspace
>> build & execute is OK.
>> 
>> 2. non-fragile abi and non-debug ( Philippe Roussel's build switch )
>> 
>> (1) gnustep-make first build
>> ./configure --with-layout=gnustep CC=clang CXX=clang++ && make && sudo
>> -E make install
>> 
>> (2) libobjc2 build
>> cmake .. -DCMAKE_C_COMPILER=clang && make debug=no && sudo -E make install
>> make test
>>      ...
>> 94% tests passed, 2 tests failed out of 34
>> 
>> Total Test time (real) =   3.95 sec
>> 
>> The following tests FAILED:
>>       23 - PropertyIntrospectionTest2 (OTHER_FAULT)
>>       24 - PropertyIntrospectionTest2_optimised (OTHER_FAULT)
>> Errors while running CTest
>> make: *** [test] Error 8
>> 
>> (3) gnustep-make with libobjc2
>> ./configure --enable-objc-nonfragile-abi --with-layout=gnustep && make
>> && sudo -E make install
>> 
>> (4) gnustep-base
>> ./configure --disable-mixedabi --disable-unicodeconstants && make &&
>> sudo -E make install
>> make check
>>      ...
>> base/NSXMLParser/parse.m:
>> Failed file:     parse.m aborted without running all tests!
>> --- Running tests in base/PropertyLists ---
>> 
>> base/PropertyLists/test01.m:
>> Failed file:     test01.m aborted without running all tests!
>> --- Running tests in base/Unicode ---
>> 
>>   3865 Passed tests
>>     97 Failed files
>>      4 Dashed hopes
>> 
>> (5) gnustep-gui, gnustep-back
>> ./configure && make && sudo -E make install
>> make check
>>      ...
>> gui/TextSystem/deallocation.m:
>> Failed file:     deallocation.m aborted without running all tests!
>> 
>> gui/TextSystem/repeatedAttachmentCellHeight.m:
>> Failed file:     repeatedAttachmentCellHeight.m aborted without running
>> all tests!
>> 
>>    668 Passed tests
>>     19 Failed files
>> 
>> (6) gworkspace
>> ./configure && make messages=yes
>>      ...
>> .; rm -f libOperation.so; if [ "libOperation.so.1" !=
>> "libOperation.so.1.0.0" ]; then rm -f libOperation.so.1; ln -s
>> libOperation.so.1.0.0 libOperation.so.1; fi; ln -s libOperation.so.1
>> libOperation.so; ) || rm -f
>> ./Operation.framework/Versions/1/./libOperation.so.1.0.0 ; \
>>      (cd ./Operation.framework/Versions/1/.; \
>>        rm -f Operation; \
>>        ln -s libOperation.so Operation) \
>>      
>> for f in Resources/Images/* Resources/English.lproj; do \
>>        if [ -f $f -o -d $f ]; then \
>>          cp -fr $f ./Operation.framework/Versions/1/Resources/; \
>>        else \
>>          echo "Warning: $f not found - ignoring"; \
>>        fi; \
>>      done
>> (echo "{"; echo '  NOTE = "Automatically generated, do not edit!";'; \
>>        echo "  NSExecutable = \"Operation\";"; \
>>        echo "  NSMainNibFile = \"\";"; \
>>        echo "  NSPrincipalClass = \"Operation\";"; \
>>        echo "  Classes = "; \
>>        cat ./derived_src/Operation-class-list; \
>>        echo "  ;"; \
>>        echo "}") >Operation.framework/Versions/1/Resources/Info-gnustep.plist
>> if [ -r "OperationInfo.plist" ]; then \
>>         plmerge Operation.framework/Versions/1/Resources/Info-gnustep.plist
>> OperationInfo.plist; \
>>       fi
>> Segmentation fault (core dumped)
>> make[2]: ***
>> [Operation.framework/Versions/1/Resources/Info-gnustep.plist] Error 139
>> make[2]: *** Deleting file
>> `Operation.framework/Versions/1/Resources/Info-gnustep.plist'
>> make[1]: *** [Operation.all.framework.variables] Error 2
>> make[1]: Leaving directory
>> `/home/kira/modules/usr-apps/gworkspace/Operation'
>> make: *** [internal-all] Error 2
>>      ...
>> 
>> 
>> 3. non-fragile, debug-default (
>> http://etoileos.com/downloads/installtrunk/ )
>> 
>> (1) gnustep-make first build
>> ./configure --enable-debug-by-default --with-layout=gnustep CC=clang
>> CXX=clang++ && make && sudo -E make install
>> 
>> (2) libobjc2 build
>> cmake .. -DCMAKE_C_COMPILER=clang && make debug=no && sudo -E make install
>> make test
>>      ...
>> 94% tests passed, 2 tests failed out of 34
>> 
>> Total Test time (real) =   3.95 sec
>> 
>> The following tests FAILED:
>>       23 - PropertyIntrospectionTest2 (OTHER_FAULT)
>>       24 - PropertyIntrospectionTest2_optimised (OTHER_FAULT)
>> Errors while running CTest
>> make: *** [test] Error 8
>> 
>> (3) gnustep-make with libobjc2
>> ./configure --enable-debug-by-default --enable-objc-nonfragile-abi
>> --with-layout=gnustep && make && sudo -E make install
>> 
>> (4) gnustep-base
>> ./configure --disable-mixedabi --disable-unicodeconstants && make &&
>> sudo -E make install
>> make check
>>      ...
>>   7838 Passed tests
>>     21 Dashed hopes
>> 
>> All OK!
>> 
>> (5) gnustep-gui, gnustep-back
>> ./configure && make && sudo -E make install
>> make check
>>      ...
>>    989 Passed tests
>>      4 Dashed hopes
>> 
>> All OK!
>> 
>> (6) gworkspace
>> ./configure && make && sudo -E make install
>> GWorkspace
>> [1]+  Segmentation fault      (core dumped) GWorkspace
>> ----------------------------------------------------------------
> 
> 
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep


-- Sent from my STANTEC-ZEBRA




reply via email to

[Prev in Thread] Current Thread [Next in Thread]