abi

Link problems with libc++abi when linking against libc++ via cmake

吃可爱长大的小学妹 提交于 2019-12-23 20:24:40
问题 I'm trying to build a simple ("hello world") C++ program with LLVM/Clang 3.7.0 built from sources against the toolchain's libc++ , with the command line: clang++ -std=c++14 -stdlib=libc++ -fno-exceptions hello.cpp However, I get the following errors: /usr/bin/ld: warning: libc++abi.so.1, needed by /bulk/workbench/llvm/3.7.0 /toolchain4/bin/../lib/libc++.so, not found (try using -rpath or -rpath-link) /bulk/workbench/llvm/3.7.0/toolchain4/bin/../lib/libc++.so: undefined reference to `__cxa

Use C++ DLLs from the same VS compiled at different times/teams - ABI compatibility?

百般思念 提交于 2019-12-23 07:59:27
问题 To repeat: I'm looking for ABI compatibility between libraries of the same Visual-C++ version! We want to mix and match some internal C++ DLLs from different teams - built at different times with different project files. Because of long build times, we exactly want to avoid large monolithic builds where each team re-compiles the source code of another team's library. When consuming C++ DLLs with C++ interfaces it is rather clear that you only can do this if all DLLs are compiled with the same

Architectures and ABI Compatiblity

烈酒焚心 提交于 2019-12-23 04:21:22
问题 I have an idea to compile C++ to a binary, store the binary on the heap and execute it. I was considering one implementation of compiling to specific architectures like Google Native Client does, then knowing what architecture I have compiled to, use the same or a different compiler -- at run-time -- within my program to compile a "snippet" or "script" and output the machine code to memory allocated on the heap. Then point a function pointer to the right place and run it. My question is,

Error INSTALL_FAILED_NO_MATCHING_ABIS after updating Nexus 5x to Oreo

坚强是说给别人听的谎言 提交于 2019-12-23 03:29:08
问题 I was working on an old app I have (I started it on 4.0), and I am facing some issues after upgrading my nexus 5x to Oreo (8.0). My Nexus 5x is a x86 device, and everytime I try to install this apk for debug porpuses I get the so called error "INSTALL_FAILED_NO_MATCHING_ABIS". I had never faced this problem before so I started to look for information and the only thing I found that could be useful was: splits { abi { enable true reset() include 'x86', 'armeabi-v7a' universalApk true } } In my

Why does this function push RAX to the stack as the first operation?

别说谁变了你拦得住时间么 提交于 2019-12-23 00:29:06
问题 In the assembly of the C++ source below. Why is RAX pushed to the stack? RAX, as I understand it from the ABI could contain anything from the calling function. But we save it here, and then later move the stack back by 8 bytes. So the RAX on the stack is, I think only relevant for the std::__throw_bad_function_call() operation ... ? The code:- #include <functional> void f(std::function<void()> a) { a(); } Output, from gcc.godbolt.org , using Clang 3.7.1 -O3: f(std::function<void ()>): # @f

ABI-Compatibility of visual studio c-libraries

别等时光非礼了梦想. 提交于 2019-12-22 06:56:07
问题 It is my understanding that (with the notable exception of the switch from VS2015 to VS2017) Microsoft makes ABI breaking changes between each version of the Visual C++ toolchain. So if I want to distribute a binary version of a library, I have to distribute a separate version of that for each new version of VS that I want to support. Now my questions are: Is this is also true for pure c-libraries? Does the answer differ between dlls and static libraries? Is there an official policy from MS

std::regex and dual ABI

橙三吉。 提交于 2019-12-22 05:13:57
问题 Today I have found an interesting case of the dual libstdc++ ABI affecting compatibility of libraries. Long story short, I have two libraries that both use std::regex internally. One is built with the CXX11 ABI and one is not. When these two libraries are linked together in one executable, it crashes on startup (before main is entered). The libraries are unrelated and do not expose interfaces that mention any std:: types. I thought such libraries should be immune to dual ABI issues.

Are the default constructor and destructor ever inline?

本小妞迷上赌 提交于 2019-12-22 04:08:34
问题 I'm curious if the default constructor and destructor that the compiler generates are inline or not, because I can justify it either way. On the one hand, you want the default constructor/destructor to not be inline so that adding them later doesn't break ABI (because object files compiled when only the defaults were there will have inlined the generated definitions instead of what you define). On the other hand, for a C++ compiler to compile C code that performs as well as when compiled with

How do called functions return to their caller, after being called?

浪尽此生 提交于 2019-12-22 03:44:30
问题 I read that when a function call is made by a program, the called function must know how to return to its caller. My question is: How does the called function know how to return to its caller? Is there a mechanism working behind the scenes through the compiler? 回答1: The compiler obeys a particular "calling convention", defined as part of the ABI you're targeting. That calling convention will include a way for the system to know what address to return to. The calling convention usually takes

No implementation found for void com.unity3d.player.UnityPlayer.nativeRestartActivityIndicator()

本秂侑毒 提交于 2019-12-22 03:33:31
问题 I'm new to Unity, I'm trying to integrate Unity game(it has ARcore) into the native Android application. I'm able to launch unity in a new HelloWorld app but unable to launch in my real app(which has other modules). Note: When I'm building an android library from Unity project, I'm including armeabi-v7a and x86 architectures. java.lang.UnsatisfiedLinkError: No implementation found for void com.unity3d.player.UnityPlayer.nativeRestartActivityIndicator() (tried Java_com_unity3d_player