Summary: | [arm] lang/libobjc2 on ARM does not build the correct exception code. | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Sean Bruno <sbruno> |
Component: | Individual Port(s) | Assignee: | David Chisnall <theraven> |
Status: | Closed FIXED | ||
Severity: | Affects Some People | CC: | Andrew, freebsd-arm |
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(theraven) |
Version: | Latest | ||
Hardware: | arm | ||
OS: | Any | ||
URL: | http://chips.ysv.freebsd.org/data/11armv6-11armv6/2015-02-12_15h33m26s/logs/errors/gnustep-base-1.24.6_6.log |
Description
Sean Bruno
![]() ![]() Auto-assigned to maintainer theraven@FreeBSD.org The real error is here: /usr/local/lib/libobjc.so: undefined reference to `_Unwind_SetIP' /usr/local/lib/libobjc.so: undefined reference to `_Unwind_SetGR' This is a bit odd, as both of these are inline functions, which wrap ARM-specific things, in unwind-arm.h in libobjc2: http://svn.gna.org/viewcvs/*checkout*/gnustep/libs/libobjc2/trunk/unwind-arm.h?revision=37753 I can only imagine getting this if somehow the compiler is not defining __arm__ in the libobjc2 build. I updated libgcc_s.so to make these functions in r278023, previously they were macros. https://svnweb.freebsd.org/base?view=revision&revision=278023 There may be issues depending on which header whichever part of libobjc.so that is complaining used. We expect it to be a function, other places think it should be a macro. libobjc2 provides its own version of these, as it has to work on platforms where the generic unwinder only does what the ARM EHABI spec says it does. They're in the unwind-arm.h header. One possibility is that we're accidentally including some system unwind.h instead of the correct one when building libobjc2? http://chips.ysv.freebsd.org/data/11armv6-default/2015-04-26_21h50m34s/logs/libobjc2-1.7_1.log Builds fine now on armv6 via qemu-bsd-user emulation. |