Skip to content
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

[Regression] libunwind.8 linker error at launching any new compiled binary #3580

Closed
leha-bot opened this issue Mar 25, 2019 · 8 comments
Closed
Labels
arch-arm Issue reproducible on packages compiled for ARM bug report Something is not working properly

Comments

@leha-bot
Copy link

leha-bot commented Mar 25, 2019

Problem description
After some updates any new generated binaries will not launch, faling with linker error.

Steps to reproduce

  1. Compile any C/C++ program with clang/clang++, e.g.
int main() {}
  1. compile with clang/clang++:
    clang++ main.cpp

  2. Launch resulted a.out:
    a.out

  3. Got this text:

CANNOT LINK EXECUTABLE DEPENDENCIES: cannot locate symbol "dl_iterate_phdr" referenced by "libunwind.so.8"...

Expected behavior
Working applcatiob

Additional information
Post output of command termux-info:

Updatable packages:
All packages up to date
System information:
Linux localhost 3.10.33-g678969f #1 SMP PREEMPT Mon Aug 24 10:37:00 PDT 2015 armv7l Android
Termux-packages arch:
arm
Android version:
5.1.1
Device manufacturer:
NVIDIA
Device model:
SHIELD Tablet
@ghost
Copy link

ghost commented Mar 25, 2019

Cannot reproduce on Android 6 ARM. Maybe something Android 5-specific.

@ghost ghost added bug report Something is not working properly android-5.x Issue happens on devices running Android 5.x arch-arm Issue reproducible on packages compiled for ARM labels Mar 25, 2019
@leha-bot
Copy link
Author

Seems that new compiler adds news unwind exports which doesn't available in libunwind.so.8

@ghost ghost removed the android-5.x Issue happens on devices running Android 5.x label Mar 25, 2019
@ghost
Copy link

ghost commented Mar 25, 2019

Looks like you have libunwind package installed.
Without this package clang++ works as it should.

@leha-bot
Copy link
Author

Seems that ~/../lib/libunwind.8.so contains this symbol (dl_iterate_phdr), but it's unresolved:
https://gist.github.com/leha-bot/3658551a142ac7a62730008928f5a1c0

@its-pointless
Copy link
Contributor

We should move to llvm unwind for all archs but arm Or not even have it...

@leha-bot
Copy link
Author

Looks like you have libunwind package installed.
Without this package clang++ works as it should.

Yes, it presents in system. But it's weird that it worked before update o_o

@leha-bot
Copy link
Author

Seems that libunwind-arm doesn't have resolved symbol as libunwind.so.8: https://gist.github.com/leha-bot/13387e4ac599d545b78f790bb92a211b

I also found an interesting LLVM issue related to this problem: https://reviews.llvm.org/D39468

But Android 5.1.1 API_LEVEL is 22

@ghost
Copy link

ghost commented Sep 22, 2019

Closing since libunwind is no longer shipped as package.

@ghost ghost closed this as completed Sep 22, 2019
@ghost ghost locked and limited conversation to collaborators Oct 9, 2021
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-arm Issue reproducible on packages compiled for ARM bug report Something is not working properly
Projects
None yet
Development

No branches or pull requests

2 participants