From af1d9f129ca21d5133edec1856c4cba038898a72 Mon Sep 17 00:00:00 2001 From: Bernardo Damele Date: Sat, 20 Feb 2010 19:10:55 +0000 Subject: [PATCH] Recompiled and tested PostgreSQL shared object (Linux) optimized for size (gcc flag -Os). --- .../linux/lib_postgresqludf_sys/Makefile | 6 +++--- .../linux/8.2/lib_postgresqludf_sys.so | Bin 5472 -> 5476 bytes .../linux/8.3/lib_postgresqludf_sys.so | Bin 5696 -> 5140 bytes .../linux/8.4/lib_postgresqludf_sys.so | Bin 5696 -> 5148 bytes 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/extra/udfhack/linux/lib_postgresqludf_sys/Makefile b/extra/udfhack/linux/lib_postgresqludf_sys/Makefile index fcbb4a13e..2ad62a0f2 100644 --- a/extra/udfhack/linux/lib_postgresqludf_sys/Makefile +++ b/extra/udfhack/linux/lib_postgresqludf_sys/Makefile @@ -1,16 +1,16 @@ LIBDIR=/tmp 8.4: - gcc -Wall -I/usr/include/postgresql/8.4/server -O1 -shared lib_postgresqludf_sys.c -o lib_postgresqludf_sys.so + gcc -Wall -I/usr/include/postgresql/8.4/server -Os -shared lib_postgresqludf_sys.c -o lib_postgresqludf_sys.so strip -sx lib_postgresqludf_sys.so cp -f lib_postgresqludf_sys.so $(LIBDIR)/lib_postgresqludf_sys.so 8.3: - gcc -Wall -I/usr/include/postgresql/8.3/server -O1 -shared lib_postgresqludf_sys.c -o lib_postgresqludf_sys.so + gcc -Wall -I/usr/include/postgresql/8.3/server -Os -shared lib_postgresqludf_sys.c -o lib_postgresqludf_sys.so strip -sx lib_postgresqludf_sys.so cp -f lib_postgresqludf_sys.so $(LIBDIR)/lib_postgresqludf_sys.so 8.2: - gcc -Wall -I/usr/include/postgresql/8.2/server -O1 -shared lib_postgresqludf_sys.c -o lib_postgresqludf_sys.so + gcc -Wall -I/usr/include/postgresql/8.2/server -Os -shared lib_postgresqludf_sys.c -o lib_postgresqludf_sys.so strip -sx lib_postgresqludf_sys.so cp -f lib_postgresqludf_sys.so $(LIBDIR)/lib_postgresqludf_sys.so diff --git a/udf/postgresql/linux/8.2/lib_postgresqludf_sys.so b/udf/postgresql/linux/8.2/lib_postgresqludf_sys.so index 16556d4fb7e61b682e38efcd9035543e88d372bf..55f743984149e96312be4ece9516d2eb17a26c2a 100644 GIT binary patch literal 5476 zcmd5=eT-Dq6~D7Pz$zmwxaz7D28#yMbiyoKmDUDjccfZq7M5MUiqB#8&CV?IvCh0f zp=>LeuJU+!ttpylq6Q1Gqyf`ZX;u_6y4zh$s9C|LG&Ye$FiY9iU7<=W`uh9b_wHsG zt7)44(YrZw&bjAz&iy*~nhmT5CR`HHeS zCEfsmbHed(o;Vhk$KRat^p1eAOU6 zHCtQ${@nWx-1O|p2iMG+m$w>66sTJeS9nb?osY+dg_?xnLKZpJn^jAIq2caJ-voEgj-wL~lB(=fW9{aeB8y01z zxI*s71QT590kIhTnX-6~LLVs8g{F0;vl%UKM019w2`!mP8bXVM!4!KqN->&BZq3=WTSaQ>xdeKv`9x&sccNdv)y_|#PhnoNyH63l@jq-Dx23uT)Jr- zOl*@DOKj5O(Il+d+$Mo8#j=^WNT;LSB5&j}vF2`P+q zsKN=N&Q(h4ugbGj<78poBzemDuy?=gkNes$LdX^71518R601B(w0L!O$t1GYFMjCh zwNkGZaZjHi^(xT~o#i=rGp+V{{I?!|&Eta}|IFieVuKK0#9kn;3A%g?_9`6mPa|i^ z8(}9OKyS!{@T9~-#f^G`H{y{< z<1dlpvRcLXpbZ|6d%Om*Sl>e(2i!ik1O7|uxSU=i$D;k29GB0B>v14a$JBv zBgb6+i5!>1jf{h~7m(x9{EQqEHHYot0vW+YF&UTZC^;^)F>+ptn8zuo_me|!GtaaZ zNBtwPi1pk1Q7O^!hZ@V` z$!Zs8LAH0*tegEaIaau? zI2vem8*V!qE)6aT_|Cq89=CS+Ry&1b(xSrI&5I`jgfVv*mWtl4oAHq`a>Ve&qC``+_=*E)sW(r=yW=^Cdn;6{q{ zp?_A-n7;74To|M{C)d_5tiNBAi6WP-9!rO{k~VY5s+R&Bix&PnIttgldd$!E!pvp zUbMIR&0(2KRvS`9?%^*5I?UyLpFWbd^22-TDaj> zx8na36v`*?3^t-0@okzZgc8wwLWDZDWb#|mE;n+nWwV~kC$pK$6b-hVo+92Ax>JS- z$!~{{p+5{+enEtCS@}#3=?N{Ki>7rEiW%8l9u2sxD~3P_5=|##Xdnwm{DfpQ*Awq+ zIAzmmJ!7Z^_zyV$2f;jJ4l(ygjYtOd-eyjcm~$T^FNkAqk~$z);`kIJmN@1t=>ZU9 zFvrOGlH&g@=t~@PoW$H#MTs|~g84}tbCa|TvTB$0qy`Z4nKE;l)B?G@U8v%25ObS2 z?hO+6hKff#_sD%9h2vf#vERgTA1YicWcC$dxVkScM+t}Vlz z0*1slsw(UQiw08hcy^HZWK>19tD}NAj+bvL(wzzfu5f9{3ReP#q-=yM`5_O-d655u zLjs|T6Gh>Ej2gxxE`T#3@Flq3GF%;Sb-<|@FipriA#;uyk7o@3$2VMNrw{wF3#8iR zx55Z;JZDuQj`S2r;dq8#0FLLUDhl^JDin_ASPd3{HdU1TD^#$3Io=@J1n%F>%YI-O XPZi=`Q3|-SsWz4A_rM)gN*V570D2~7 literal 5472 zcmeHLeQZVIx%ZxX{hq(It!sN-U7e8BAQ}X%-3x{2gdAMvdOAf=G>Ua% zg=lsB5>NTwVwW3f1cc-F-7AFeewY0S7yvKu{PmEn@VCNGF2g3%?*l(^P49>JHe+zkE{7%7R*fER)N;5!lX=Qt$J8B68R zr}4QOyxcVfmIbScIf9phSAwevQ+KEdpDmtFai6Czfnv!AMwi=YyvpL5{HVtMVU2yW%H|r&HDPlQ{5dKf1tEVc4M@iSu*UvbjeVuY{;0+t zsj+`qW1p+B|5#&xuf}G*NLmBs_tJo5zTd90Ip42=??a)mUYfDn`yl@S;|0%-L#{%x zjbdTwUj^9`L?b95rtL+rn}Uw%*b3B8RlMh5hpX&mHTWa&Z-DA zbxmZW$&7}yIk)HmB^p1V#3G3#!|G~EWMes170Eh8k@eTGaK3-=UgxTLUh;aLCoX-7u%wYIB zV>HmSzqiEsRl;Z(Dy?*e_gTY1;4!`B*6^&WEiM{t!}#_kW7OBvTe8|hr4uCdKRb#w zbt0V|nb+Q&*Un1Km|SP}&Y1aG^Z7Yzo8Q_L;Dk6ubIfXWl)}ip$4?`f!bn~-Cmw|B zvEty|xG&@^G@(YNuGq5SMtOW|h)W_Mog)C*^nh#o`Mvi*+1wiPp(jD^ASGkg)_0mm zL;m7+AH8OqJG}kwd7|E5?})-kQC}-w2q7XLL^uMs)LDII;9?uk(`S~g-We-DYdt?_ zPC85QjeUEDCO?l3>MPEcZJSy@QZw0cOSm)3&KZ@4`86mNclb;_2M*=V zp)m20Z8M`YSXG(7S$L1Fg{$~vrte3JZ%sizOXD0;wm*2y{Pm483dA}^P~C^-Ga;XK zlEKUtZx5W%OrTg`XQp8}Z4FM~`8=Hn)=3U&?hW~!<-vTtUfzykBMXNxu!r-;aN`}@ zAoRu7NhUJ3HDHU2%+Pv^$y{K@=CnES!D}~uXT05DHp%2J!|P(I+}24pn~S8w>23-!O; zyZId&lNxH_%Yy;kZ$9eHZ0fcO;(5Y-a0*Ecm0m=KmJvXHtlSmF*QplItmPsZfA!gA zYXKbj8F`MY?y24AT6r0Z^EB?H9Plh5$(;Ba+|B)vLGUKVh(4IkKJ>y@t7jIAaR{L&vI~y89a;d z*^ggrJga;x;d|y)bfP|iAbh{z*ApJOoaZt=yOVC&cIG(z$Sni6n1b91`z9pE{9lOg z+>#!_m+N-0KZuqcTef^DxURb|pVsri&TvP#;|pKRJ67jIuKoXq32Sk@9_W!iy#A*1 z;dn%gi*Wzpw01bBB?|a17y$Jq=#)vN)U++K(?3F26nVs%tZ4$@2ByWN)$7MUY9n4y$&Uz;AhF(1`Oz}7vuK-RTo(nS1g^Wi$AGUW@;dqY7 z%$qo#L5bS~ow@R?@EnsLhAxRX($~Qf7sPoW*W!qMx(dhN$jCco5crq_Nde1vdBo2)ZPROQC`Bh?@Y0EPcdE{Sb8GxDL+mZzv%7?t-Ry9Dk#bxF*~O zO?SW*s&Fm9wE!o_s*d*}46ZT9<^96n_sY;EmXdi4gXOqY7NF47lKQ@3qNmBm_8aO`lYYKva`%mlg3-}pN5^-mw0V#cQOz9c{?pM;N G!u<=TDiQtw diff --git a/udf/postgresql/linux/8.3/lib_postgresqludf_sys.so b/udf/postgresql/linux/8.3/lib_postgresqludf_sys.so index 80b31e7716c9ff2ed1f3118143154df000173b07..eb1a6b3332c878cb72133f9365f94c550c14db4b 100755 GIT binary patch literal 5140 zcmc&&eQXrh5r4K1?8L?xHz}qNI0#8e+g!0BNl7aKwhsact%ekC@Ra6tTX^PYe)LJP-l>(JX3^KK4Lq)42P{~qIg~~^d;I=l9U=cUl-*0!H zb&#S;{ikE*=FOYm%)F1;_jdW7_mve{Sy@6-j>r+z+<8JQhWuKQZCNbb!X*}n8KT6p zOFZSpDK<}{0zCb#z9%5TdFUttPj>9tkZJg&VI!xYlWBK>*IrW_AwEaaJ`I+qz;5tk z;Q3&LvxxqWfWH8q1)d9j9Q;LaKKM)EN5PohLy6hs(CCo9$b3W$x;u^9~Me+c0Z>aAw&FW3=$23;!$}nDVQO zO)p&dJ6!Lhj~&f`4E)d$Bdxk39(7y_nqfp<|~XX{HnZn5~L3NaE#$TOGX@l62njKWeK& zbMy<2-sQymqoaEqJ8O%S51sq)2qcO7%zQtm;tg~Q)m8MW!Rbmw_{&-x8i>fAH*xwXt@C6c)2GQC?bRg=B?~41B zoyvnf+x;!~W9mZ@<#U~ZP>T{%{EdV*Dr(dpSAC6sH4zqJe@jcWK?I_$N<;+Win3J% zRHdaw1R7eRaYY0yw?H(uRbT`S(MUjq!~RwgS7VWe)?H$UKcu#X5ZDR;upO>RQRAZ3 z4go(^35!;QQbbFrzQGfZdY%_P1taidMe5^md#%tFX%s78Syf))EAy0k7EQDlPP9t7 z3)wgqcruXKl7HEb#nxTW_%uHJkJcRV1nPl%PKwV7VJBT;snb^!3SsAS#LJF8&C;_) z4Rq39PzU%Y(vH04$Z792>(`^4h zos1ZTpp>1@Q;P;u->9K61)m$x3N4+OA=-tND^WDEE$bmA4oEMR{HCd|dAw zvs?K_l6}Z;evs^U)ot$6XU*^1U(?-#71gdGN_Y1}>)1r=w-c=+vZY;HUyC&jj_ck$ zqwR{>T9oD-PoS!V=1q0~gusE@hxN9UJ|{WoI(;+Ss2JD0hmDGVary-7YYuB|{d%Hb z^PbTLZyz40EEyNRO~C{3t+Ei9TYIn8mncM*fn^0*rM)+JpVl^KH#-PzmK`hEU(hU? zMYT3)IT|aoWEMMy_grFna=4({PF#~$+B;BQkadH%VRduXdNXm(vdC~o<?(MmI-Y76wWm+B_JBDCHDwx`OuzGjT zueyDBqnYTkd^gF_ZZH#P>}cK|jL}f;)NS!urC@DN306&Rj5es3SWw`SV`9&W#99oj zdA8NZ&54h1tZNo8VG-vVk1f2LYR;XTs%jRFk2^VLYJF-^RjskoRb{WDdEsVBH%~g5 zcWrZ)+?LW_&TY^N2B6T|N6>Gy-(i&YOZdIHPCrSB!C`d|G70x&y|K+) zpLM(1JkF?2pn_UEiS1vdTN!h#;1i{(Ss`l8<5r?Km?+41(O2bQ+ItfQR@nwvo%%`U zz}mdNRH*s76>p$2*A$N7PiE+;k#omMD@Pf<@(7Yph3Aep^oC{wwET0xVF`};-#@=Y&s}pN4ji|t@TAw`;Zysi$ z*Nl9#sz@!sa3>~>yxNdehx;?hJ|7LtesAAyoDzDn2uA?QN}XZ6%cgPcX>MEcA1*Vc zPlh3ZYPQd{jI(+RXfE`zbcnO`jcElKTTvNga ziL1+cU*H=^Kdu(OW$?D(7(PyR^y@MneTNGw7 z0@(!}Q;*`x{GW*5kdkB!O@&i599AN# zT;l&K`5ntTVvVr2$d|$L?Ugl0W=(y9eJ75!M{Y#>K^$L^h$W6SNv?vz7-(9Owa7A{ zFLA74GHX|oY(9k!)*o@KJ@RU_WnT7^%fPHxwpp{}WoT#Sg({YVS-Zrs_Q|Y$8IO2A z1I!_Dd{)RDH*tKXa94r5`jEW)fa4l7ul0XXz@^ZZ`6xM#PO!|&ck^z1Q}7&>L>&32 zV2R@y*$*7gM@bU*OLRya:cXpk-jWKWw8@;( Nv;z<7aj9hB{ta~_2;%?% literal 5696 zcmds5Yiv}<6`r*hSioT8Km&n-AufU@-GU)J(n`F%(1265fGLrI&0^oRx7ml;z2+qz zv9@lxx!M$kAQ6>RO_18O3Q^Ti$|E2nTWccGb`w&SKBQKKl%=>0ByORNmD}%|JF~1! zNtIufI@a-b&YW+~yw1$MclQSBmU}!Np-ZVK6|{cr6JjoKeWmM}E2@N7%n%dAc`mw-KO2;t7B*-*nS1aVS$3q^3Oo0r8+z(+H2bl=Dj|R%8Ayrg9 zrc8j3^OkGyF}%SpEUlQVD#r|Rjx4gVys`|(|Itd<@BkF93FpIg;#^qvzd7uMePtrk zS?l^ZPtMohyms;{EoUo#6g*pb>hg2DmIi*+TeE5H;CY?Zr!5)=#Q#nOJi& zb93}xF1|N9JL>!IG|#{ISH>(Z{mRGyxt>>*y+PT3Q1(>}ivG!Z641FXMW$TehZLVs z1u0R4Jy=+_zhBwAq0{b#uw)^$M=1XmAnhs2{!sbP0a->X|Ib}hOjPlYDSJ7P?N2Ma zM%jJJZdG=Vvfonijw;(y_HUK_ii-b^vi-`>ykr>(dm4~uh=qH^{tweoh3oY=WG51U z`CchTigm!rNQPa?ZUOGbp?OKhA1RgqD^yZdh?@@k^%dDc@V`+M@7u6nhJ8!5-vayD zBL5?U+V6z_1tjSeAjiWoeu)PbrBV!+=kbzC)=He_MW}BriuX;}hl*?w3^vCS@nFgf zCCy+^1S9c?DS}}DT#eg9R726oPD2D&ZVj$Bnj8qR~X7 zh#9fQ)*T|8Xf@&@oHC53MA$TGDZ zVzx#QUj_hKMh!O`W=gcWA<)h=VxkqH3=xfNZuF-T{&^y3U?3qZ%;r?eT{2X~o5YH` z$CfS&*7#@p=M?l=1#LFgyacxe?+X@c`j7Rl&#m#w8_k1rdapm8;Zjk}JafZ|)RYKz z)GL;&x{63-6nj~%>@m_V5gTB$m|!zy_9)z^@HvHt72b!WC-3*jZ=x4@Ogs*M2`=uR zAPdW3x7S@M9x>4$_A zP9zVP`AQ-oKX4cy zuo(L=*!9-CYtp^mJZeNkd)Hxvun+V(j??kBIV8^~SpFRUJ&YLZ8{X`4UPo}@9N`|Z zI7cur(L(jwAJNP?f(}Fr-Pdw3>0m)W>(=CtLTm4u2XDH!;_1_Tu!**fcDkP(cABH@ zG?q?S-s=1@)Yvv}(oA|1^vr?r_&+mu?siG0)meBmRh2o;)|n+9D@~g7e3}fm&BB|> zKWEbn?@4!8G;G?~#d+rasA%u{8I})IwhvT+k7(7*F`y4%~ZvCE!R z-L;ShiZiV?}m+Ef#FvU2_7>IX)wTt7;6&mY!wTtcq?6LwEPO>*S(hg_O zXUmU|9c|@0^WO5ao#n@Chg{z0U6uY*In;5N_tmcQq|bR4{&MecGTudY{e`TzM4ZLS zI@Yh{qush`U3&kuTW_V$m0D$LVu5aZ_XX|9lx3K;c73-sLRL%mHIJ1`cY3Y5Y9E4H zYpcC_(01TLL9Nf}H7?$TKzF*ku3=M9ZhN|ShPAQJYP)Ui?#C9`i;MQ&9xs!iqqBV9 z%NPQdaf@|{+r7QN$6GDW8w1lZj?VoVbGq15tv3qj?zqZRmptT@+{B!{vCnS1ZSU^4 zdUa~I_fA5C!87b}v$u6X_I71fcrDXSUOk+wcaFfo8QvXuNB%>{;V5n~k#$CP^s=_& z2L8*@H)PKAL6@0wlAHeiYu5Q&Ia~_%izInIK=yfU8BA}QL!fv%Ij#?!9AP4>Qqqy&F88BO0;<(9ZpP}oX3E6Q4UY9dCEf3O# z%#;DFn|CFr>~lbV%3$r?+>bj+IQ~u&4!nRq(H0dpBC9o|^cS{Qm_F-^>TKN@kR0;5 z;A|r@d=At{gjE!L&wdPRP7YHFIn__cQ%BuamQf!qL{J@9CoFQ5l-%JOAl8 zPvF^;+$@r8!;~o&o{$Ie3~d5dK^8;)-wQLJbJR$kYr^xyyN&Pbcr_4wPe)dWW01dp zON`VZw|UViy+^H@Lf@?ShnoZsu{J$ z=13@BHP=7KU-P-y{@F8K^?&R3r&{niV1_p1%RJuZZwaMZguiJ=Jhda{qM39(Ta9EY zl86s5g777cDEY3^8a0JqemVI~V>@*D{p3$3h>Y`QtZp8c}kGV&wgRc8!J*5W1 ze5KBur7VVC+%HVA1cKLb*@n4KVeadA%F=JZGA>20F)zF!HSOyv~BI z3wbPGhG^b)a43U$q?9_&d&j dT9;SBVLV;P`;In%+Nb-}t|Q?6R2xOSe*=Fb0!;t_ diff --git a/udf/postgresql/linux/8.4/lib_postgresqludf_sys.so b/udf/postgresql/linux/8.4/lib_postgresqludf_sys.so index b5a9862e1cfbcda88cb08868638e00ce1e7a65b0..6b1dccb56d99e4b5a628adecf9016bf8966c5a95 100755 GIT binary patch literal 5148 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