-
Notifications
You must be signed in to change notification settings - Fork 272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clang3.8 cross-compile linker issues libc (undefined references) #1
Comments
Works fine with build 2490520, so this is a pretty recent regression (I assume that by "clang3.8/android-ndk-20160105 snapshot on Debian Jessie" you mean you built it yourself? Or does Debian provide nightlies?) Checking with a ToT build right now. |
Those symbols, and a few others, ended up getting accidentally removed from the NDK's definition of libc while we were purging other private symbols and whatnot. @dimitry- is working on a fix. |
Nice, thx.
|
Yeah, unfortunately our build servers aren't publicly visible (yet, I'm working on making that happen). |
The following arm symbols should be exported by libc.so: __aeabi_atexit; # arm __aeabi_memclr; # arm __aeabi_memclr4; # arm __aeabi_memclr8; # arm __aeabi_memcpy; # arm __aeabi_memcpy4; # arm __aeabi_memcpy8; # arm __aeabi_memmove; # arm __aeabi_memmove4; # arm __aeabi_memmove8; # arm __aeabi_memset; # arm __aeabi_memset4; # arm __aeabi_memset8; # arm Bug: android/ndk#1 Change-Id: I36f758c574a939174d43999048c193e63def548f
The following arm symbols should be exported by libc.so: __aeabi_atexit; # arm __aeabi_memclr; # arm __aeabi_memclr4; # arm __aeabi_memclr8; # arm __aeabi_memcpy; # arm __aeabi_memcpy4; # arm __aeabi_memcpy8; # arm __aeabi_memmove; # arm __aeabi_memmove4; # arm __aeabi_memmove8; # arm __aeabi_memset; # arm __aeabi_memset4; # arm __aeabi_memset8; # arm Bug: android/ndk#1 Change-Id: I542d1ad023b8aece5dc05a28a9ca549cb51455b4
Here's another one: Is cmdline: |
will move it to LIBC there are couple of others I missed (__popcount_tab?) |
Not sure about any more libc symbols but the
|
Also since __aeabi* and __gnu_Unwind_Find_exidx symbols were incorrectly versioned in M (android-23) remove them from the version script for all platform versions <= 23 Bug: android/ndk#1 Change-Id: I04902aac25a722100fc502600df908bb3a786356
We had these symbols incorrectly versioned as LIBC_PRIVATE in M release. This change moves __aeabi* symbols from LIBC to LIBC_N and adds __gnu_Unwind_Find_exidx to the list Bug: android/ndk#1 Change-Id: I0b353012adeacb00ae29ea10c63b9d1cf1cadbe7
I think |
__page_size was only used for android-12 and below.. I have fixed getpagesize for these versions to use PAGE_SIZE instead |
Also remove __getpageshift since it is not present in later version of android (>12) Bug: http://b/26475272 Bug: android/ndk#1 Change-Id: I117194ede3b13a63ff020364b0f573fb25d5205d
We had these symbols incorrectly versioned as LIBC_PRIVATE in M release. This change moves __aeabi* symbols from LIBC to LIBC_M and adds __gnu_Unwind_Find_exidx to the list Bug: android/ndk#1 Change-Id: I0b353012adeacb00ae29ea10c63b9d1cf1cadbe7
The following arm symbols should be exported by libc.so: __aeabi_atexit; # arm __aeabi_memclr; # arm __aeabi_memclr4; # arm __aeabi_memclr8; # arm __aeabi_memcpy; # arm __aeabi_memcpy4; # arm __aeabi_memcpy8; # arm __aeabi_memmove; # arm __aeabi_memmove4; # arm __aeabi_memmove8; # arm __aeabi_memset; # arm __aeabi_memset4; # arm __aeabi_memset8; # arm Bug: android/ndk#1 Change-Id: I542d1ad023b8aece5dc05a28a9ca549cb51455b4
I'm trying to cross-compile
zlib-1.2.8
with clang3.8/android-ndk-20160105 snapshot on Debian Jessie.Compiles properly but linking gives
undefined reference
errors.'CC=arm-linux-androideabi-gcc' compiles (and links) properly. But that's probably not meant by "Everyone should be switching to Clang".
Any idea what's wrong here?
This is the tail of the output:
The text was updated successfully, but these errors were encountered: