From 4aa2a95b5939faea86b299734d6b132a71a08e64 Mon Sep 17 00:00:00 2001 From: rajdakin Date: Sun, 23 May 2021 20:29:01 +0200 Subject: [PATCH] Added two linking tests --- CMakeLists.txt | 38 ++++++++++++++++++++++++-------------- tests/ref15.txt | 1 + tests/ref16.txt | 1 + tests/test15 | Bin 0 -> 15376 bytes tests/test15.c | 32 ++++++++++++++++++++++++++++++++ tests/test15_dv1.so | Bin 0 -> 14860 bytes tests/test15_v1.so | Bin 0 -> 14796 bytes tests/test15_v2.so | Bin 0 -> 14888 bytes tests/test15_version.map | 8 ++++++++ tests/test16 | Bin 0 -> 15368 bytes tests/test16.c | 32 ++++++++++++++++++++++++++++++++ tests/test16_dv1.so | Bin 0 -> 14864 bytes tests/test16_v1.so | Bin 0 -> 14888 bytes tests/test16_v2.so | Bin 0 -> 14792 bytes tests/test16_version.map | 8 ++++++++ 15 files changed, 106 insertions(+), 14 deletions(-) create mode 100644 tests/ref15.txt create mode 100644 tests/ref16.txt create mode 100755 tests/test15 create mode 100644 tests/test15.c create mode 100755 tests/test15_dv1.so create mode 100755 tests/test15_v1.so create mode 100755 tests/test15_v2.so create mode 100644 tests/test15_version.map create mode 100755 tests/test16 create mode 100644 tests/test16.c create mode 100755 tests/test16_dv1.so create mode 100755 tests/test16_v1.so create mode 100755 tests/test16_v2.so create mode 100644 tests/test16_version.map diff --git a/CMakeLists.txt b/CMakeLists.txt index 09b01eb8..9f72641e 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -577,76 +577,86 @@ if(NOT TARGET uninstall) COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) endif() -add_test(test01 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME bootSyscall COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test01 -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref01.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -add_test(test02 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME bootSyscallC COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test02 -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref02.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -add_test(test03 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME printf COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test03 -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref03.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -add_test(test04 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME args COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test04 -D TEST_ARGS2=yeah -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref04.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -add_test(test05 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME maths1 COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test05 -D TEST_ARGS2=7 -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref05.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -add_test(test06 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME threadsStart COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test06 -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref06.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -add_test(test07 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME trig COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test07 -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref07.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -add_test(test08 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME pi COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test08 -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref08.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -add_test(test09 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME fork COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test09 -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref09.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -add_test(test10 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME cppThreads COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test10 -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref10.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -add_test(test11 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME tlsData COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test11 -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref11.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -add_test(test12 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME fpu COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test12 -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref12.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -add_test(test13 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME contexts COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test13 -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref13.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) -add_test(test14 ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} +add_test(NAME conditionalThreads COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test14 -D TEST_OUTPUT=tmpfile.txt -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref14.txt -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) +add_test(NAME linkingIndirectNoversion COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} + -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test15 -D TEST_OUTPUT=tmpfile.txt + -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref15.txt + -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) + +add_test(NAME linkingIndirectVersion COMMAND ${CMAKE_COMMAND} -D TEST_PROGRAM=${CMAKE_BINARY_DIR}/${BOX86} + -D TEST_ARGS=${CMAKE_SOURCE_DIR}/tests/test16 -D TEST_OUTPUT=tmpfile.txt + -D TEST_REFERENCE=${CMAKE_SOURCE_DIR}/tests/ref16.txt + -P ${CMAKE_SOURCE_DIR}/runTest.cmake ) + file(GLOB extension_tests "${CMAKE_SOURCE_DIR}/tests/extensions/*.c") foreach(file ${extension_tests}) get_filename_component(testname "${file}" NAME_WE) diff --git a/tests/ref15.txt b/tests/ref15.txt new file mode 100644 index 00000000..52326af6 --- /dev/null +++ b/tests/ref15.txt @@ -0,0 +1 @@ +2, 2/2 diff --git a/tests/ref16.txt b/tests/ref16.txt new file mode 100644 index 00000000..52326af6 --- /dev/null +++ b/tests/ref16.txt @@ -0,0 +1 @@ +2, 2/2 diff --git a/tests/test15 b/tests/test15 new file mode 100755 index 0000000000000000000000000000000000000000..b54028ac1cdab9b9837a042495d869244663fe31 GIT binary patch literal 15376 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 literal 0 HcmV?d00001 diff --git a/tests/test15.c b/tests/test15.c new file mode 100644 index 00000000..0788c040 --- /dev/null +++ b/tests/test15.c @@ -0,0 +1,32 @@ +/* + * Compile with (on x86_64 archs): + * gcc -m32 -DV1 -shared -o test15_v1.so test15.c + * gcc -m32 -DV2 -shared -o test15_v2.so test15.c -Wl,--version-script=test15_version.map + * gcc -m32 -shared -o test15_dv1.so test15.c -L. -Wl,-rpath=. -l:test15_v1.so + * gcc -m32 -DMAIN -o test15 test15.c -L. -Wl,-rpath=. -l:test15_dv1.so -l:test15_v2.so + */ + +#if defined(MAIN) +int returnVersion(); +int acquireVersion1(); +int acquireVersion2(); +#include + +int main(int argc, char **argv) { printf("%d, %d/%d\n", returnVersion(), acquireVersion1(), acquireVersion2()); return 0; } + +#elif defined(V2) +int __attribute__((noinline)) getVersion() { asm(""); return 2; } +int returnVersion() { return getVersion(); } + +#elif defined(V1) +int __attribute__((noinline)) getVersion() { asm(""); return 1; } +int acquireVersion() { return getVersion(); } + +#else +int getVersion(); +int acquireVersion(); + +int acquireVersion1() { return getVersion(); } +int acquireVersion2() { return acquireVersion(); } + +#endif diff --git a/tests/test15_dv1.so b/tests/test15_dv1.so new file mode 100755 index 0000000000000000000000000000000000000000..4f252d4af299a87bef0dbfd22dd314f606caa26b GIT binary patch literal 14860 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 literal 0 HcmV?d00001 diff --git a/tests/test15_v2.so b/tests/test15_v2.so new file mode 100755 index 0000000000000000000000000000000000000000..b42d6d8725a39fbc9f5c410c7c374c310773bc7c GIT binary patch literal 14888 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 literal 0 HcmV?d00001 diff --git a/tests/test15_version.map b/tests/test15_version.map new file mode 100644 index 00000000..8232d455 --- /dev/null +++ b/tests/test15_version.map @@ -0,0 +1,8 @@ +LIBV2 { + global: + getVersion; + returnVersion; + + local: + *; +}; diff --git a/tests/test16 b/tests/test16 new file mode 100755 index 0000000000000000000000000000000000000000..154b0003391034b2c5d717bb893fb4e7d780187f GIT binary patch literal 15368 zcmeHOU2I%O6`uV`vNY~y6HJpPrd+5UIpAz;%MGOoA{(#mggS}y=Ojv-o6YXEcgg;B z_inIJq$X_B5?L;$1R3Th%bilHtE1yR$>_s!gK z)=oem5KnicvuD0JXU@!=nYnjn@66L(z1=>aPw3zm0YNl277TTOpZKJbbO=K%7R}$KA<_qdNt7X35*UmJL!>jvK%!hkTsgQv9Z1jk zg&-}cl^XzOAqN#Em5!3)AP2XlqIS+)}; z+cZVVvMZ&0zf~${3VD%8K2^z-EEl%T!|mGCv36R5f0Ojvoo0KqRbbpG&*@(ueCZPhkjnmHh-5PNQ#zucnE6F8v=EN3 zJ0A=!g5x9PaDF{G8oPoV9ne62ua0x=c+B&F=K;?Ho(DV+cpmUP;CaCFfad|v1OJT& zZY_D}z1`KR(B!XS<>dISbwZ3(XB@{lb>8+nm#VLZ4vyE_cOD61m*O;q@XK_kiMyIK zqc^T1o72SIO`5VBmn7ycC(W(Vjq?(7x07B${6mSk>q#5LXMtItwm%#?{rl>*>ApR? zCLf02;$0sQhcGdHRlF zZ+_pU%YU_vpGsR-?B&u{q)!>UqKw(Ag|>4-mMtnuFEp7&?I#w{o)4uSo7L0h-F$wu zw=oE3I8V*MbpP(1)v3D4iT54n^u*+s$;Kzof%Wh1ONY(|Lz71VP^xU(sCE0m!9!1u zCT3<`LjUZYJc`<$ytoj1*?s-!{kqdPM~*i(Prm(k#~JCBI*Rh{smz)#((yj6X*?%*NwN!`{_v|IMaNJ}FJ5#w^K4Ic zYf9Y*yehC^6Vmx@xMA9Ho&i4&{sj0d;6?D~-*KFC;J*dG2HyK8$7#j4&7I(J@Oq>% z_`a}9_>PBstLlQmFY((a(i%W3U}pmr;)_B|Yh@H^@;fx*1~F*tZO1tbF2bSiaNTE@ zEVhF~;xj8Ze7wE!V~--4|2+H-`MRkSuk(qX$O3;wbS()~?1hnq{>t%4z+V|ET!1Jx z9-D|=>_kn3*aG$Mf~JwzV&1NB=#;-VT=!fc7LGg{jD_o~3p&F_F5DOkH^;**@o?+5 zu+bB)kBx^Tv59b9?6q(xb}LU4S&Gc)|04=K;?Ho(DV+cpmUP z;CaCFfad|v1D*%|j~+OS@5MzBwq@A!D(ZDP&+qd5^4CChAf7wNAzqPvAsBiPoae|_ zfpagn5;P6WeJnBQb(|Cb^ZQO=2Aq4q7r%%zzu*nv*iwtHgBF9hFZ>XQfqQR(FTXs8 z-3;QMc`0Z)C|eDN7*B!o>~sjkGxX&6dRmAh9iNU1YzMZmg$`gu|Kq^(?>bXA+T0Hs z038E83(~Tl&d$e-W}G}}xQMU-x8G41;O64boW$Oj~rLfv1(_ad! zoizQZusRs6+ZmAmPGHOLwmTp_qx_}xKR_n^s4#m0!EIAO_6GiUn8mW!<-G^01q6Fv z^*?z)gvr#M1F(P`E$B0Rb7ykEJ^j6Z7PI%%xFHV+_M#d$JEa!>K_xH6<63D zB^VzHKR_moS8sCyY2O(eQZ%H<^y$zKMKzIp)s$1 z$dd`+KCwb{f^*zc?nC`Q2hKS~%>2i|IZudvXfNlI4lJKzRR`j40c2m&`pRFm^6vxa z@&xSt3|Nm>A7;x0ur81CH-UA3aHdTGbAFNe!~?>Q3LM6K=Ez!x`Yr>$3V(3qE%V)WVhsC~m`3Hfued^maas!#Fz>RKw zm-?5BG2q(!5Z|uRXMJ7)o`(M|#MvI6`Dk(TN6=qyKz<4BlkG+Oa=^UT!~fl=e~tFe z-nnma6ZlShR*1g<^NbDuTciFA_1(bo?^9D+rVy_L*7;fg3F^D!ZJ8fWzhucS+m(TV zXi}uCk~Nqq+g8c6b7nGI$XjLHyGRwx!EE73B5S7XLaA&fDnlY!$Q84eZKd$gxu=FX zkjZDvM5&Y*Hm$r}8WsbkM9wl(m0WHZS!$38O?!^2x?_SGnP&H{*tRaSYkM5GOU${N zDPhJBY>#c*+BsJuFQXs{4@R?Vi)&#^e3vkLdUtG&^_n}nyLWf(G55qa_jb{$yjYSf zS7e=mhaO!Y9kgt-m^AHlC4V$}WXQdRvT4(uODFfzD+<#}CG5n!t1fLY%4BtW1z^sl z8OX{7Go8q%vex{|FL&K~nOlR|n$v~COl8fIl`SL_w#B0COwuf7U~`~orazBjkCe-9 z732k)e|1}@9qN0wb-JDx(eiN4P81_oHg8>PCk91yFkgwL z6XmpsriSy#thilLl4I@-A*tp96Ef7E`YKY)+9E0&7PYM*#5trODo77Ut+YFc(kbNB zNaawYN#)RS*iGazNmQT!Tlk5}0+ca$Mno~Fa~P{~?)*DHTzhajamvYibpTus=%AzT00!gli)msLSv;i0d2b@txm+Ow6y# zWjbj;i0dK7xfX~+&p^DkTtG1h;);NJDd?r3#|OE#$2JfbLDbs};ue4bpmiMvp=8CKKF1J%&>tt;e-# z77yOqH@_}-#MNVayune~B}OT81PUC;kbD>uu`s9Y6g~^u{5lkEti`YeJ6;cB>T)2Y=mAb408T|0z}&p5XUIX)FF$>ySgSLZ830FRjc>HdLjNOCF)1( F{R1|d*P;Lb literal 0 HcmV?d00001 diff --git a/tests/test16.c b/tests/test16.c new file mode 100644 index 00000000..59b255c3 --- /dev/null +++ b/tests/test16.c @@ -0,0 +1,32 @@ +/* + * Compile with (on x86_64 archs): + * gcc -m32 -DV1 -shared -o test16_v1.so test16.c -Wl,--version-script=test16_version.map + * gcc -m32 -DV2 -shared -o test16_v2.so test16.c + * gcc -m32 -shared -o test16_dv1.so test16.c -L. -Wl,-rpath=. -l:test16_v1.so + * gcc -m32 -DMAIN -o test16 test16.c -L. -Wl,-rpath=. -l:test16_dv1.so -l:test16_v2.so + */ + +#if defined(MAIN) +int returnVersion(); +int acquireVersion1(); +int acquireVersion2(); +#include + +int main(int argc, char **argv) { printf("%d, %d/%d\n", returnVersion(), acquireVersion1(), acquireVersion2()); return 0; } + +#elif defined(V1) +int __attribute__((noinline)) getVersion() { asm(""); return 1; } +int acquireVersion() { return getVersion(); } + +#elif defined(V2) +int __attribute__((noinline)) getVersion() { asm(""); return 2; } +int returnVersion() { return getVersion(); } + +#else +int getVersion(); +int returnVersion(); + +int acquireVersion1() { return getVersion(); } +int acquireVersion2() { return returnVersion(); } + +#endif diff --git a/tests/test16_dv1.so b/tests/test16_dv1.so new file mode 100755 index 0000000000000000000000000000000000000000..c89bc2e7674b853abab58ad72403e33d2fb591bd GIT binary patch literal 14864 zcmeHOU2IfE6h6CKWt9R&s!>q6l8RvJwXKMM4{lpps1__xFiOmIyL;QN?ho$X#nzB0 zZv1Vk)o7y87!!jp8XwSTjG7=-gYiXu(fFV~XtKs8VnjofxPITAJLPUIL?4VVbDDF{ zoH=LC%zQI%@|{tdZq%o^MyV>gmNq$PH9c z&W{GkGpO)SKNfM&EV6aGF}uS4tpGSauqt6cE%X^-b?G) zlk(?;G(`#i+*Z1OhRL-qR|Lj5cY0fa=(0JA?V69>z3dl0oz zXZeR7Yh6S}vX0muO%@WpT7g^zW-Lt>60TMt&jQ~U(iw|5XtI#l0q$EW!ivw5g|ZuR zXGj;v8Oas$PRUCaJ;xEJZ*a4dc8l&vrsTQB!Oh*-Lf#!r4rN_so8RK3#*)r(CZEh^ z?r|lVx~rTix;x!sDO1R|%ZTd*={cqjDY{;{nAcX%EqU$hojvV#sUX?RPzussFa3R8 zJKJR=M7Psnx7$~Ujc$O5I7fjvslUgNCJq+(i7y85jLCjHN%VLQl6F#QWd_3>l~f{G~+lWCyXJ3fI+|@U=T0}7z7Lg z1_6VBLBJsJKOpeSk_-RXUYUtkyHWYR>0hwzov0kE)oKqM^rE#-D<8ynO^2IRd!0Ml z+Dm%RTYKp!oQJ2h&&2sH)5B9I{;J=?vhUDyh&%ZxH&&DP^Lfo-?}CZ@kEnWng&``+>Qd*w?eD(njSy|gmZ zSbM#ZwO@c7#Hd~g`B8PBGw*^GlSEaLcs;^2{ts@3XCqg1@J1M4a1ql15bag>68-luF>7BUPg4(w_0Mh33$VRwDTj#0 zE9Czw(!4*yk!JiukbHMYQM^%yA$w-^h4M9Y&OK5D`1}Z|@r?lAqcm82kQT`TG)Ut| z|7C1of;N_4CTpqB;t`k2sRv|1-WbwXK_7u0z5{W0$WH$ULpn$InUKzEUWOjNGx27~ z&hnBfdL^$sJZz`r#MKGM%Q-1to+#mtMY`aOWD7&dtdsT%#gdaOk4dVK+nseiH;tEY zUJqWV$T-PjF*)wId9OGw!^LFIb<*WrZX88IngdU-&Q)EdK#LrwcU$M?9;au^2Hx** z#;#s(<3fhBJLPzz<@}xY(3to&&1Xx)=A=snXEd2l^9sm@Tefs=?(0S_K0}g;!J>h0a$Gw2L|XyFSZYWy*umKBLz=v&mF^)!z{Kt8Vu-Y8YQ%*il~uQo;r*8<08pSn%+%k{f#mM6t$aq{A zeMXvbp!$;U)@5MUK|c!*GS^Q{^d(&h)@viz7Bb&e-9D&(j4nv7rPR6RkP}F&&nhLM z%2qH}7W#25B6D5V@#xR>`BpI7;ICS2Fqr+-L_g92u=eBHMW(wZrs;b-SoLWdCz8aD?hp0Z;A6&tUSofsI19uN?TXzhWtFWjY}3SAouWJ}wq;0Y3#@ zllGfL2G=PcFRm>(Y^QDXWt#jfnEz|hk84!JN&NQ1PK@ctwSo8lsw@L0Q4*IlnC+t< z?_nK*pT+`Nv-Q4)wD$8SKwI#?9-TmpN9O;4+K+2gBm9`JNvGdK2J2_NT$`Ha_%R0Q z5SVG0eWD-dsV3Sq`(qIpTHu#JaE=|vh4nUpIY(Kirt}r~jYU_6Or7L%8}?g=7v>XP HDCGASC2E_) literal 0 HcmV?d00001 diff --git a/tests/test16_v1.so b/tests/test16_v1.so new file mode 100755 index 0000000000000000000000000000000000000000..2903f1cee4aab9e94ee88f96671fed2a0486d7ba GIT binary patch literal 14888 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 literal 0 HcmV?d00001 diff --git a/tests/test16_version.map b/tests/test16_version.map new file mode 100644 index 00000000..1ed59003 --- /dev/null +++ b/tests/test16_version.map @@ -0,0 +1,8 @@ +LIBV1 { + global: + getVersion; + acquireVersion; + + local: + *; +};