From 9a47744fc0849ac42f0a2b206347ce3079dfef28 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 26 Sep 2015 18:42:38 +0200 Subject: [PATCH] remove old gcc ABI (libstc++) test tool --- tools/g++5ABIcheck/Makefile | 6 -- tools/g++5ABIcheck/README | 57 ------------------ .../g++5ABIcheck/gcc5stc++test.i386-linux-gnu | Bin 4516 -> 0 bytes .../gcc5stc++test.x86_64-linux-gnu | Bin 6064 -> 0 bytes tools/g++5ABIcheck/test.cc | 13 ---- 5 files changed, 76 deletions(-) delete mode 100644 tools/g++5ABIcheck/Makefile delete mode 100644 tools/g++5ABIcheck/README delete mode 100755 tools/g++5ABIcheck/gcc5stc++test.i386-linux-gnu delete mode 100755 tools/g++5ABIcheck/gcc5stc++test.x86_64-linux-gnu delete mode 100644 tools/g++5ABIcheck/test.cc diff --git a/tools/g++5ABIcheck/Makefile b/tools/g++5ABIcheck/Makefile deleted file mode 100644 index 3061785a87..0000000000 --- a/tools/g++5ABIcheck/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -all: - g++ -o gcc5stc++test.`gcc -print-multiarch` test.cc -Wall -std=c++11 -O0 - nm gcc5stc++test.`gcc -print-multiarch` | c++filt | grep -q __cxx11 - strip gcc5stc++test.`gcc -print-multiarch` - -.PHONY: all diff --git a/tools/g++5ABIcheck/README b/tools/g++5ABIcheck/README deleted file mode 100644 index 0017bf8942..0000000000 --- a/tools/g++5ABIcheck/README +++ /dev/null @@ -1,57 +0,0 @@ -g++5 ABI test tool -================== - -This is a simple tool to test a system for g++5's libstdc++ at runtime. - -GCC5.1 introduced a new library ABI for the C++ standard library. -The old 3.4 .. 5.0 ABI is not compatible. - -Some GNU/Linux distributions systems switched to the new ABI already -and compile plugins with the new gcc. - -If a plugin uses a c++ library that is also shipped with ardour-bundles, -the ABI of that library must match. Currently known cases: gtkmm, glibmm. - -e.g. Ingen or eq10q provided by a distro compiled with gcc5 will not -load in Ardour as provided by ardour.org compiled with gcc4 because ardour -ships an incompatible gtkmm, glibmm, cairomm, ... - -The plugin will fail to load. For example: - -``` -suil error: Unable to open UI library /usr/lib/lv2/sapistaEQv2.lv2/gui/eq10qs_gui.so (/usr/lib/lv2/sapistaEQv2.lv2/gui/eq10qs_gui.so: undefined symbol: _ZN4Glib7ustringC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE) -suil error: Unable to open UI library /usr/lib/lv2/vocproc.lv2/vocproc_gui.so (/usr/lib/lv2/vocproc.lv2/vocproc_gui.so: undefined symbol: _ZN3Gtk7Builder13add_from_fileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE) -lilv_lib_open(): error: Failed to open library /usr/lib/lv2/ingen.lv2/libingen_lv2.so (/usr/lib/libingen.so.0: undefined symbol: _ZN4Glib6ModuleC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_11ModuleFlagsEEE) -``` - -ie `Glib::ustring::ustring(std::__cxx11::basic_string, std::allocator > const&)` - - -Compilation ------------ - -This tool must be compiled on a system with gcc5.1 or later. - - make - -will fail the resulting binary does not use the new __cxx11 ABI. -The resulting binary will *not* run on systems with only the old ABI. - -For convenience (packaging gcc4 builds), pre-compiled binaries are included. - - -Check ------ - -The idea is to include the precompiled binaries in the installer - - - Ardour/gcc-4 installer must fail if the binary runs - - Ardour/gcc-5 installer must fail if the binary does not run - - -References ----------- - -https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html -https://wiki.debian.org/GCC5 -https://mail.gnome.org/archives/gtkmm-list/2015-June/thread.html diff --git a/tools/g++5ABIcheck/gcc5stc++test.i386-linux-gnu b/tools/g++5ABIcheck/gcc5stc++test.i386-linux-gnu deleted file mode 100755 index 86788583d78d75b7fd6ca3f20ff0f40e35efb0f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4516 zcmb7HeQZ1Hgc#1DxFGbAgL!gI;|ccJMOjWZD>;EQ!A0V|NKbroZsn_5tVv-*I`!Avm;w znU{7a#3<~eu#r_z+L?pA9r*3YO>TrvR<_UwR;1!nLR1X9JY+eSdG=kfL;Wvee54l- zbj8{q=!$IYip5iX0W%S(vSZW6xoz9I2TyyP^znn4dpVeEL;LA>O8<0o-;q-z-%Smc zekFPAm!Ero1?S}jGlpD?3bB@YDY(D+={LT=|A7_4g7%~%*|lCgMabGX$C2E&G))U2c)v&`mj zQ>%_gQ)95HS7`90HmBTin1*0eXh(SWj@C_>Q6U=o5L)Z(>(hFoNiz}GyJA+q)>}!$ zjyoS}jhqc)VnMs@wM45kjBaW{q3wwuj>RKbPBYaVB`jQ6^5(~}5Rq71OPSG#=t)_o z=)t;J9T*>Bg}2eI$KqmJLxZ*{P$?Sr@2}s|tOWy`#I}~^El|;2J-;2O3fihx1-wn% z5!^FQ>>r*?MUchV8xHw9h}vNN`@y00{de<(m?+ef16Vd`uLHmP!>6&O++woeV{Lc= zHRcl8g8t0xOGs8E-kI}vi2i~N?!p&~;Usj5-xutoFS|U&Xukrv2=XK)Huot?Z2H$J z7YXq_N@SX##F_JBN}OGjlo;_D$`T=_D6!ekQ6f`odd8D0Md0JvzuqInNcv_zpC6pE z+__a4P5PYYK$gQ2`I;BukzY5Cr_|SRL%6;`)nO>pd z{@or>C@(`^Nx{vIke(^Yr#!h+xAJ);gBHpS+3m5nvzeB17ZxY~%uRq>cco|iC=0`Z zZDr~Z&WS9ah@?TPHw#bfj7BWx47m$Ha_Jo_5HDRT2*tKxjXmahp^1%m#n%3w|9 zgO!^E4nY4p^DfF7e&bSc^rGO1+o>{dmwuuCm^?DA!i^bAuF(T z`MoDOj_ekWqaMfV5|?WT{eJY7fg2HL3Q~AITfHTZmfmf-`otrv9{NI6`R8e`1OEoY zz86x|dp(2BEsNdSc|@`O+3h$IYLU?w*`H07gB!9O{8RW}fOHw(z(uIUA-4J4&Xi~@ zElTwj`-+^YqlW`N=aI9p)Mx9@H!wJT&w$%7FCEg(UGFVUY8H>SukrDt2;;eykprKEZ$c435STdPddcQjO7UP%{%p7BTfuw59pGNDN`&w2m;Duu(e{`g z_siPe7~H(UZvCgqZ$niFY6CSJgB$#^AwM*PnX4nF+8nk zAD$ghU`j-EOBaEtp>-tn?xqgE>axSpV{l1T6Ohgv4;) zZUwV`B@X*#0uAmHMXI?I9jtZYSm)zN;zwKMWk2}#-PokEAg9mF^PAaFR(=SbmxFb~Jifq{dNXPYABGKCIYMddq^|G|M% zF^E;|pQFwHrhJz?cTao*?mgHUn>b#NhCTuJJJ?li$p7}h(UE;5=4Bmx2v+fU4`_6`sha-=vnS>; diff --git a/tools/g++5ABIcheck/gcc5stc++test.x86_64-linux-gnu b/tools/g++5ABIcheck/gcc5stc++test.x86_64-linux-gnu deleted file mode 100755 index 8ee0b27e1b9bcd42202f01b4f776f413902c58ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6064 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 diff --git a/tools/g++5ABIcheck/test.cc b/tools/g++5ABIcheck/test.cc deleted file mode 100644 index c3a915c029..0000000000 --- a/tools/g++5ABIcheck/test.cc +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include - -void check (std::string const& str) { - std::printf ("%s\n", str.c_str()); -} - -int main (int argc, char **argv) { - std::printf ("gcc %s\n", __VERSION__); - std::string test("gcc5/libstc++11"); - check (test); - return 0; -}