~gnustep/gnustep/+git/gnustep-objc2:1.9

Last commit made on 2019-08-22
Get this branch:
git clone -b 1.9 https://git.launchpad.net/~gnustep/gnustep/+git/gnustep-objc2

Branch merges

Branch information

Recent commits

2052da5... by David Chisnall <email address hidden>

Fix the AArch64 small object class lookup.

This was generating a relocation that didn't do the right thing and
didn't raise linker errors. Now it is using GOT-relative addressing.

In combination with the last two commits, this now makes all of the
objc_msgSend tests pass on AArch64.

Fixes #105

303bdcf... by David Chisnall <email address hidden>

Fix stack resetting for objc_msgSend on ARM.

If we called into C to find the IMP (e.g. for forwarding), we were then
reloading all of the arguments but failing to adjust the stack pointer
by the correct amount, leaving it around 192 bytes offset from its
correct location. This, unsurprisingly, led to crashing and other
exciting behaviour.

3da7491... by David Chisnall <email address hidden>

Fix CFA calculation in AArch64 objc_msgSend.

Prior to this, throwing an exception from a +initialize method would
leave the stack pointer 16 bytes offset from its correct location.

32a7f60... by David Chisnall <email address hidden>

Fix accidentally inverted preprocessor directive.

2d6c6f7... by David Chisnall <email address hidden>

Revert C++ exception structure changes.

The C++ runtime library passes pointers to the middle of the structure,
so we need to ignore the fields that were previously missing.

137ef59... by David Chisnall <email address hidden>

Fix invalid preprocessor directives.

c1437a5... by David Chisnall <email address hidden>

Fix unwind info in objc_msgSend.arm.S

We were failing to properly indicate the locations of the spilled
floating-point (vector) registers.

7865712... by David Chisnall <email address hidden>

DWARF EH cleanups.

Update the C++ ABI for the C++11 ABI and fix the missing ARM-specific
bits. Work around a bug in ARM.

63516d4... by David Chisnall <email address hidden>

Make alignTest pass on ARM.

This test assumed that a vector of 4 ints needed 16-byte alignment, but
this is target specific. Now check that the runtime provides at least
as strong alignment as the compiler expects.

bbc3873... by David Chisnall <email address hidden>

Don't require text relocations on AArc32.

This has been tested with a few hacks on FreeBSD, where everything
except for throwing exceptions in +initialize appears to work (most
likely an unrelated issue, though it's possible that there are problems
with the unwind tables in objc_msgSend.)

Fixes #92