]> granicus.if.org Git - gc/commit
Workaround invalid '_end' symbol on Android clang 3.5+
authorIvan Maidanski <ivmai@mail.ru>
Fri, 23 Oct 2015 09:24:21 +0000 (12:24 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Fri, 23 Oct 2015 18:26:52 +0000 (21:26 +0300)
commit0a37e6034137c7d5a4472b657739a1659fb20ee3
treebb612db94b74637fbbb012ca26696e4ca664cf30
parent51e6d83ec158997ad0e4e813f624f0dee47e33bb
Workaround invalid '_end' symbol on Android clang 3.5+

* include/gc.h (GC_INIT_CONF_ROOTS): Handle Android clang (3.5-3.6)
case when "_end" symbol has incorrect address but "__end__" is defined
(by bfd linker only); declare "__end__" symbol as weak.
* include/private/gcconfig.h (DATAEND): Redefine for Android/clang;
define __end__ as weak symbol.
* os_dep.c (_end): Remove declaration (declared in gcconfig.h).
* os_dep.c (GC_init_linux_data_start): Define new local variable
(data_end); set it to DATAEND; use it instead of _end.
include/gc.h
include/private/gcconfig.h
os_dep.c