[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: win32 show-stoppers
From: |
Hovik Melikyan |
Subject: |
Re: win32 show-stoppers |
Date: |
Sat, 20 Dec 2014 12:35:57 +0000 |
Hi Barnaby,
The fork is here: https://github.com/crontab/libobjc2
Currently it's only for 32-bit. At the moment most of the tests pass
except a few that test exceptions. Looks like a bug to me, because
exceptions work in trivial situation but fail in more complex ones,
and right now I don't know what's going on.
My environment:
- Windows 7 Home Edition (within a VM if that matters)
- clang 3.5 (Windows Installer)
- MinGW-32 + MSYS
- MinGW packages required:
mingw32-gcc-g++ (4.8)
mingw32-pthreads-w32 (2.9)
- CMake (built from sources under MinGW)
- CMake command:
mkdir Build ; cd Build
cmake .. -DCMAKE_C_COMPILER=/c/LLVM/bin/clang.exe \
-DCMAKE_CXX_COMPILER=/c/LLVM/bin/clang++.exe \
-G 'MinGW Makefiles'
(because by default CMake builds Visual Studio files)
And of course your contributions are more than welcome!
--
H.M.
On Sat, Dec 20, 2014 at 8:03 AM, Barnaby Jones
<address@hidden> wrote:
> During my attempt to build libobjc2 for windows I stumbled over several
> problems. I still investigate it because I find Objective-C superior to C++
> but at the moment I find no other alternative to compile applications on all
> major systems:
>
> 1. Exception unwinding: For windows you need seh support. This is now
> initial implemented in Clang but still missing in LLVM. The GCC 32Bit
> unwinding lib was also missing from my (Linux) build. This missing feature
> was caused by a (now expired) patent issue.
>
> 2. MinGW Clang support: MinGW (w64) only supports GCC I could not find help
> for several compilation problems. Also I don't know if all necessary MinGW
> patches are now in the clang (repository) trunk.
>
> 3. CMake: The host/client cross-compilation rules for Clang are missing.
>
> if an experimental fork/branch for gnustep/libobjc2 on win32 x64 would be
> created I would gladly help you with the port.
>
>
> On 16.12.2014 03:15, Hovik Melikyan wrote:
>>
>> Hello,
>>
>> I'm trying to compile libobjc2 on Windows/MinGW. At the moment I'm
>> stuck on this line in objc_msgSend.x86-32.S:
>>
>> addl $_GLOBAL_OFFSET_TABLE_+(8b-7b), %ebx
>>
>> Clang aborts here with this message: "unsupported relocation type" (I
>> think it's an assertion).
>>
>> Command line used:
>>
>> clang.exe -DGC_DEBUG -DGNUSTEP -DNO_LEGACY \
>> -DTYPE_DEPENDENT_DISPATCH -D_BSD_SOURCE=1 \
>> -D_XOPEN_SOURCE=700 -D__BSD_VISIBLE=1 \
>> -D__OBJC_RUNTIME_INTERNAL__=1 -Dobjc_EXPORTS -fPIC \
>> -c objc_msgSend.S
>>
>> with clang 3.5.
>>
>> I think I understand what global offset table is for, but I have no
>> clue why clang's assembly refuses to compile it.
>>
>> Any ideas on how to fix this line to compile and work on MinGW 32?
>>
>> (I'm pretty sure there are a lot more problems ahead with this port.
>> At least the calling convention in this asm file will have to be taken
>> care of, and possibly more. I'm just wondering if anyone has ever had
>> any success with it. I can't find anything apart from some older posts
>> here in 2010 then 2013, with no positive outcome.)
>>
>> Thanks!
>>
>> --
>> H.M.
>>
>> _______________________________________________
>> Gnustep-dev mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/gnustep-dev
>
>
>
> _______________________________________________
> Gnustep-dev mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/gnustep-dev
- Porting libobjc2 to MinGW, Hovik Melikyan, 2014/12/15
- win32 show-stoppers, Barnaby Jones, 2014/12/20
- Re: win32 show-stoppers,
Hovik Melikyan <=
- Re: win32 show-stoppers, David Chisnall, 2014/12/20
- Re: win32 show-stoppers, Hovik Melikyan, 2014/12/20
- Re: win32 show-stoppers, Hovik Melikyan, 2014/12/21
- Re: win32 show-stoppers, Hovik Melikyan, 2014/12/30
- Re: win32 show-stoppers, David Chisnall, 2014/12/30