Hugo Melder

Results 49 comments of Hugo Melder

## LLDB and Valgrind Configured CMake to build as debug and ran lldb and valgrind on the AssociatedObject_legacy test. CMake Configuration: ``` sh $ cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Debug -GNinja .....

The non-legacy version does not abort, but I have not run valgrind on it. I'm currently packaging all major GNUstep components (next-generation clang-only) so this failed test is irrelevant, right?...

Tested all AssociatedObject* non-legacy tests and everything was fine (Valgrind reported no issues aswell). I am always using gnustep-2.0. One question regarding the aarch64 msgSend assembly: The code is currently...

I have modified the tools-windows-msvc scripts to include the aarch64 windows triplet (currently in a separate branch) and tried to build the toolchain. The libobjc2 build fails while generating objc_msgSend.S:...

This is the LLVM change that errors out unsupported symbol locations on aarch64: https://www.mail-archive.com/[email protected]/msg04763.html

Related: https://github.com/gnustep/libobjc2/issues/228#issuecomment-1195311843 https://github.com/gnustep/libobjc2/issues/228#issuecomment-1195320069

## Dynamic Address Relocation After some consideration, I've come up with something that fixes the dynamic address relocation issue on Windows on ARM (WoA). There is no Global Offset Table...

I've patched the msgSend assembly, but there is a compiler crash when building the legacy GNU ABI protocol hack: ``` [24/27] Building C object CMakeFiles\objc.dir\Protocol2.m.obj FAILED: CMakeFiles/objc.dir/Protocol2.m.obj C:\LLVM-woa64\bin\clang-cl.exe --target=aarch64-pc-windows /nologo...

> Some folks have created a libucontext implementation but, I am trying to compile on ppc which these implementations do not support without having getcontext already available. I may be...

Btw I think we should deprecate GSServerStream. It is not used anywhere in the code base and only exposed as a category in GNUstep additions. The implementation is too complicated...