abi

Understanding GCC 5's _GLIBCXX_USE_CXX11_ABI or the new ABI

匿名 (未验证) 提交于 2019-12-03 08:35:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html I ran into crashing/valgrind issues with using std::string on GCC 5. The above link hints that there is a change in the ABI starting GCC 5.x. The new default ABI for libstd++ is C++11/14... which is not compatible with the older ABI. There is a way to select the older ABI using a define. I am trying to understand what is the difference between the ABIs and haven't found details. I'd like help understanding: What kind of issues with std::string need to be fixed to be

Differences between arm “versions?” (ARMv7 only)

↘锁芯ラ 提交于 2019-12-03 04:30:41
Basically I would like to know the difference between ARMv7l and ARMv7 h l? I got a arm processor with armv7l and there are a lot of rpm's for armv7 h l. I don't exactly know what I have to search for to get information about that. What is this "suffix" called? Are there any other types? What are they doing differently? I would assume that it's indicating packages compiled for l ittle-endian and h ard-float ABI as appropriate - i.e. it's a software thing and only tangentially related to the hardware. In other words, you don't actually have an "armv7l" processor - you have an ARMv7 processor

Undefined reference to google::protobuf::internal::empty_string_[abi:cxx11]

匿名 (未验证) 提交于 2019-12-03 03:02:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm trying to build simple test application with Protocol Buffers 2.6.1 and GNU GCC 5.1.0 (on Ubuntu 14.10) and I get following errors: /home/ragnar/cpp-tools/gcc-linux/bin/g++ -c "/home/ragnar/cpp-projects/gprotobuf_test/main.cpp" -g -O0 -Wall -o ./Debug/main.cpp.o -I. -I/home/ragnar/cpp-tools/libs/linux64/protobuf/include -I. /home/ragnar/cpp-tools/gcc-linux/bin/g++ -c "/home/ragnar/cpp-projects/gprotobuf_test/messages.pb.cc" -g -O0 -Wall -o ./Debug/messages.pb.cc.o -I. -I/home/ragnar/cpp-tools/libs/linux64/protobuf/include -I. /home

Cortex A9 NEON vs VFP usage confusion

匿名 (未验证) 提交于 2019-12-03 02:44:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm trying to build a library for a Cortex A9 ARM processor(an OMAP4 to be more specific) and I'm in a little bit of confusion regarding which\when to use NEON vs VFP in the context of floating point operations and SIMD. To be noted that I know the difference between the 2 hardware coprocessor units(as also outlined here on SO ), I just have some misunderstanding regarding their proper usage. Related to this I'm using the following compilation flags: GCC -O3 -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=softfp -O3 -mcpu=cortex-a9 -mfpu=vfpv3

How to Compile boost with GCC 5 using old ABI?

匿名 (未验证) 提交于 2019-12-03 02:17:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: I have downloaded a library that was compiled with a gcc 4.8 before the ABI change in GCC. On my laptop (latest kubuntu) I have GCC 5.2. And When I installed boost, it seems that it used the new ABI but then I get the following link errors undefined symbol.....__cxx11.... How can I install boost using old ABI with GCC5 ? 回答1: To my knowledge, there are no prebuilt Boost packages for the old ABI in the official Kubuntu repositories, so you will have to build Boost yourself. The building process is documented here . Make sure you're

Android 4.3 Virtual Device CPU/ABI - No system images installed (eclipse)

匿名 (未验证) 提交于 2019-12-03 02:06:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm trying to set up a new device, but I can not continue with the process. I think it's because the target version is 4.3. I know I need to download it from Android SDK manager . But as you can see it has been installed 回答1: Reinstall the ARM EABI v7a system Image and Intel x86 Atom System Image again restart the eclipse I think it will work 回答2: You Just close the ADT and open it .. it will surely work. it's work for me. And check the Target as Android 4.4 - API level 19.. 回答3: What I have done is: I'll Android SDK Manager. I have

glibc: elf file OS ABI invalid

匿名 (未验证) 提交于 2019-12-03 01:36:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: downloaded and compiled glibc-2.13. when i try to run a sample C program which does a malloc(). I get following error elf file OS ABI invalid Can anybody please pass my any pointer helpful in resolving this issue.Please note that my kernel version is linux-2.6.35.9 回答1: It's not your kernel version that's the problem. The loader on your system does not support the new Linux ABI. Until relatively recently, Linux ELF binaries used the System V ABI. Recently, in support of STT_GNU_IFUNC, the Linux ABI was added. You would have to update your

Why can a T* be passed in register, but a unique_ptr<T> cannot?

*爱你&永不变心* 提交于 2019-12-03 01:25:27
问题 I'm watching Chandler Carruth's talk in CppCon 2019: There are no Zero-Cost Abstractions in it, he gives the example of how he was surprised by just how much overhead you incur by using an std::unique_ptr<int> over an int* ; that segment starts about at time point 17:25. You can have a look at the compilation results of his example pair-of-snippets (godbolt.org) - to witness that, indeed, it seems the compiler is not willing to pass the unique_ptr value - which in fact in the bottom line is

Linking problems due to symbols with abi::cxx11?

匿名 (未验证) 提交于 2019-12-03 01:25:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: We recently caught a report because of GCC 5.1, libstdc++ and Dual ABI . It seems Clang is not aware of the GCC inline namespace changes , so it generates code based on one set of namespaces or symbols, while GCC used another set of namespaces or symbols. At link time, there are problems due to missing symbols. If I am parsing the Dual ABI page correctly, it looks like a matter of pivoting on _GLIBCXX_USE_CXX11_ABI and abi::cxx11 with some additional hardships. More reading is available on Red Hat's blog at GCC5 and the C++11 ABI and The

Remove note of GCC ABI change

匿名 (未验证) 提交于 2019-12-03 01:22:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: When I compile my program with GCC 4.7 I get the following note: /usr/include/c++/4.7/backward/binders.h:167:5: note: the ABI of passing structure with complex float member has changed in GCC 4.4 here Is there any way to get rid of it? I tried to google it, but all I find is the GCC source code line that prints the note string. 回答1: Pass the option -Wno-psabi to GCC. 回答2: I was getting the same message: /usr/include/c++/4.8.3/bits/stl_pair.h:276:5: note: the ABI of passing structure with complex float member has changed in GCC 4.4 for the