From 0ece76b5ebdd41cb32f9702a403c96693f1ba468 Mon Sep 17 00:00:00 2001 From: Mario Werner Date: Fri, 14 Nov 2014 08:27:36 +0100 Subject: [PATCH] rewrote the segment save logic to not only care about alignment The initial implementation only made sure that all sections and segments are properly aligned. This is enough for simple embedded applications but can not deal with more complex layouts. The new implementation should be more generic given that it respects the virtual addresses of the individual sections. One thing which is currently not supported by this rewrite are segments which contain the program/segment header or even the whole elf header. --- ELFIOTest/ELFIOTest1.cpp | 46 +++++++++---- elf_examples/arm_v7m_test_debug.elf | Bin 0 -> 313943 bytes elf_examples/arm_v7m_test_release.elf | Bin 0 -> 124118 bytes elfio/elfio.hpp | 95 ++++++++++++++------------ 4 files changed, 82 insertions(+), 59 deletions(-) create mode 100755 elf_examples/arm_v7m_test_debug.elf create mode 100755 elf_examples/arm_v7m_test_release.elf diff --git a/ELFIOTest/ELFIOTest1.cpp b/ELFIOTest/ELFIOTest1.cpp index a58b22a..4d6b9d6 100644 --- a/ELFIOTest/ELFIOTest1.cpp +++ b/ELFIOTest/ELFIOTest1.cpp @@ -365,22 +365,40 @@ BOOST_AUTO_TEST_CASE( elfio_copy ) write_exe_i386( false, false, 0 ); } +//////////////////////////////////////////////////////////////////////////////// +BOOST_AUTO_TEST_CASE( elf_exe_copy_64 ) +{ + checkExeAreEqual( "../elf_examples/64bitLOAD.elf", + "../elf_examples/64bitLOAD_copy.elf" ); +// checkExeAreEqual( "../elf_examples/asm_64", +// "../elf_examples/asm_64_copy" ); +// checkExeAreEqual( "../elf_examples/hello_64", +// "../elf_examples/hello_64_copy" ); +// checkExeAreEqual( "../elf_examples/main", +// "../elf_examples/main_copy" ); +} //////////////////////////////////////////////////////////////////////////////// BOOST_AUTO_TEST_CASE( elf_exe_copy_32 ) { -//checkExeAreEqual( "../elf_examples/ls", -//"../elf_examples/ls_copy" ); -//checkExeAreEqual( "../elf_examples/hello_32", -//"../elf_examples/hello_32_copy" ); - checkExeAreEqual( "../elf_examples/asm", - "../elf_examples/asm_copy" ); -// checkExeAreEqual( "../elf_examples/asm64", -// "../elf_examples/asm64_copy" ); -//checkExeAreEqual( "../elf_examples/hello_64", -//"../elf_examples/hello_64_copy" ); -// checkExeAreEqual( "../elf_examples/test_ppc", -// "../elf_examples/test_ppc_copy" ); - checkExeAreEqual("../elf_examples/read_write_arm_elf32_input", - "../elf_examples/read_write_arm_elf32_input_copy"); +// checkExeAreEqual( "../elf_examples/asm", +// "../elf_examples/asm_copy" ); + checkExeAreEqual( "../elf_examples/arm_v7m_test_debug.elf", + "../elf_examples/arm_v7m_test_debug_copy.elf" ); + checkExeAreEqual( "../elf_examples/arm_v7m_test_release.elf", + "../elf_examples/arm_v7m_test_release_copy.elf" ); +// checkExeAreEqual( "../elf_examples/hello_32", +// "../elf_examples/hello_32_copy" ); + checkExeAreEqual( "../elf_examples/hello_arm", + "../elf_examples/hello_arm_copy" ); + checkExeAreEqual( "../elf_examples/hello_arm_stripped", + "../elf_examples/hello_arm_stripped_copy" ); +// checkExeAreEqual( "../elf_examples/ls", +// "../elf_examples/ls_copy" ); +// checkExeAreEqual( "../elf_examples/main32", +// "../elf_examples/main32_copy" ); + checkExeAreEqual( "../elf_examples/read_write_arm_elf32_input", + "../elf_examples/read_write_arm_elf32_input_copy" ); +// checkExeAreEqual( "../elf_examples/test_ppc", +// "../elf_examples/test_ppc_copy" ); } diff --git a/elf_examples/arm_v7m_test_debug.elf b/elf_examples/arm_v7m_test_debug.elf new file mode 100755 index 0000000000000000000000000000000000000000..12d00d31730a2c708a5140a6b5f9ea322b9c092c GIT binary patch literal 313943 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%0A?x%rmeKu$)my-Bj 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 SVC_Q-_^_d8jS917TmD}VO1x13 literal 0 HcmV?d00001 diff --git a/elf_examples/arm_v7m_test_release.elf b/elf_examples/arm_v7m_test_release.elf new file mode 100755 index 0000000000000000000000000000000000000000..39ce159921759e2c4e0bf970ae99ff6e907bbeaa GIT binary patch literal 124118 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

    n%>4H%dmMC_dsa zWR6$ki-cO_i!x5M_KUO?O|*a>QO-Hpo|S|O5ge}lBCvqXQx4t5{8ECz#x^wq{D95# zPx3xn_g(cK+rJ12`4;J9tce2bF%nj26Vm3})GnE^H+dPm%*hxxcA)mf2)dMSDdViY z9wdW7pv~zw>=%)@fxIS{C-|eOUyOTdS37FCNn-5w&QYWH7(0P@=##lGl-gu@=)#pqT+17=T~()C-Z~PKK>voZ^0ZYh`h* zMWUi`5q>$f1D6C=1u6>|XWlStRe5EpU4BV9qzfx9LN04WY3Umfgs!v@-nL4ZtlGM2 znFUWlfgoK-1~R-v*yY!kzFx`%oOsAYaivvS%5X+0S>Ot7K%CN$c;hk^>#Ai;vuWx3 zo0nlix2(2G$}d=nyp}h*k>0p$BiR3y+#`1ZojboSN`Wp)p(;v|DvFtVvs5K!QA+cR zQWmnjq6B4O7ZkYpMj^0YS(--|^aIV(hzmU--%>1+OPn~1EWBAUbt>~Xu@-wK@u8Y3 zS6KCxoz|X<_Lsg1X00j^^_9!vsiuc&m(YVBbV88JQ?!&Z8KPn?(}urzCF-^gDlYL- zdgC&xg7GhGCZ=_5ug&8?3rL9s~2xj-%Opz;5aMdy`fu9VeL;+h`u`5w})iR}_ z#L1rImzw;x{DPKwNzq~pF0e$ov=vwjO)YuGsxWlG5{tBTjoNVP!n0_VX<#<#>QWex zU+tGPvT~3hYQLvA^9s*zq_;)eG@-#nQS3~7wW|5$7uNVNf(+8yN#H^-&|Z$K(E)#mlO zBBS&uX~48%vC%$C@>))*VGzVB^9smHS^!z6-IeQJl{e6+B4dQ%K$kc0|G`CeyUA;H zU$5{1XC^CPUC6GBxe;S1duxefJvF5284}|sbB1wKjmL9FDvX|boMv$sYMWt3Gc4wn zOAhgQR@Z|llBI@9&tO%KDP@M(fze&-*OB4poXN%BTgJpnj1WvQ+2i!A!nL+hNHgzwIp>nVX~=8_MXDJ%qqA3J zv>(<4%E?wa@0!F(O)p)MzBw#-bDM7A==RhVP;*_em)Vln%xr1CnafmjL@zPgyzUva zJqAj{sw68+BQwA(%G?#WX;;&je{hS@^;@i`0Hb02=~j0a)Th&mbbY$rH(;2l*yzd_ zgG`gp>8zznk`r9sqMN;rg8-J@tVb-k%}$zcS!Qvrb-fDrn^E1;$S*v)N6f7%SE2Wf z#>h6lJ$c&A8g`=@jn$LP%ZH(krNoynv!4`tMkz9^>U9__nEr?kW8`7}PGeeVPR`~| zpI!^6(TY9N8CB%Bdc3Q_!?&<}cof5X_^sb3-i=Si=jn)zc*X zyv9)R^)3%BqWEJlp5p6YSn~Ow!f>eg{B5L3GvTWEue(_D^^XNwMDdF*(R}^tU-PTr z@rfRYDg8QJ#oMz&hwGQT`TUo0gh|EIufOv7?+$9de%Y1JKj-rGTdREjZ!uRX{rUxp z=Ht-K!Jz!$FJS*YKM!^7Ya7la(&@2OMr>`{?GY{UOkD6|QxDDrdEq?!vsv9J5v(1G zr+Wu(z`^pv*VV>B_9sW;nOYoDzhQKwKf{33*bT#pk>OzN!C>vK2H_QHY#8s(h7)~3 zmTmu*BfZhR^8ShLcuz7RTyF0GHlNOAZyC;{ZxQ=(SPt>jg$S)UrIbvhg?DAb=m7E^ zbQLj~woapfiqGIkI?iJuM~);GU;ek8ZDZ^Ed%Lfy+|hdGb(D|NHi7i>%%PsBB?^ydJskQ z#77eXn>OP^qlg!c##20k$n>d0pfyE@6GzB79FHbZrvjHAq;!l?(Kq5GLHoE@CE!Yi z1cmydOefxpmLSW6^RLi^s~mb=b;F5+@yy`igxJqh_ClYvhn>559DiFPLstw89vpCj zx||>>AevDCZR4HDX*1G@pkQ=IyAo{Mqn(L(A9}@}csdgqZ653IM|K=43Xwi1XmdQ7 zY>xLH>P++->`ZfftgkbUoOdRA6Ub@b=8-X|)ratV#pcnpZttSGb6aP0Z#+4M0;%+( zU74{S-9)z>W{y;PGMCW3C7m8g{|N>$=K$^D2InlIn?6d2yuWQMfgaf>?II!xT#YlF zQAz(116O~_7`kfv(SP*#)i#_O%WO`L^d4$`yDqxe0#o<0c3DHh5jmvU(arq_+0_T* zN%VEG1K0Gxju7L?%3fKEx(tr#or-EkNusp0K$Z2n^~27(N#2Cem5FD@My1A~$l&nk z=8@rHWF*n26On_HXhXYf-n6HsrERZh8}ce~=h%=k6WfofZJiNakzQJ&C2@GLH__H7 zo1BtX8FVyDLRngCL4Nx2`$%VED2~(S!v|Grnv237*3HX3=dPI;cn^)G90hG^>~tEM z3RKesOw0DgK|~!o*YRb0XFv2xz;@q*b}#nlji%_sh7fw4E4OtJ6VZk7JCRy`q;Fw^Z7}tJz09@ymrl4`$CexW1O=Mbc#t1co~qBBVbGt!a#&7%I~o4atwP_u$7gaUKs|ARa9* zTcA#dAxs}pZ7vVo?t72rhU=56bHnw4)w$vN-0IwLeSB4i&&>zvlK|JXTq$WVq$)Y>gwU&!ucF z4;~NPQFNm4&VrNvyX?E6uf2Rf-Z49J`p89dc^OkXfn?-H1*WG@S3rN(|1SGB-|bd& zdE@Z~ca)tdy|d(G@m+zti|#3WPeC&j&R3oz_%_4u84;+0j^qA2>=P^x(vb2oW& z^>E!k1zCO{SuORb_DdZM*E@_&8}K^;d3qzTp}(aZ5p`U>r`F)h?n)mJn zI>z@&{k>|g9Y{X`zW&}cmrpyr0KVR`WcEXb>n%u(M_TVUnyZJl;fWf(Va2qK=IPxg zrp=i?o&Vz>u2(y+)?te-B24 zrCNX4%6z#2&|yQ4eS-Q>wFMq->%R~PD%b_3cynU;+yj7=n{L1{gxpxkI z%Atc!x)Y%9g%OeE}kj*A$wHn%x|w| zT~PLM$cpP!U6^_`uMfN=M4bMNrltA><4uEiTJpR(RmU6HfHpBF9`nk0FM~(BXgcsZ zH702~2%7bz=`d(5KR5r!@n)_C{Ed(|^Ut{CWx-?nA#KJbJq14R8D-tqIP}!@>gd_l z`R1SI@(uIp31H9X>W%Z~k$P8yzY+XKw6%Hr-q!N)e0pPum)h**pLE8c&GOLhC|h13kGGwTsNuGdGX4n;*Y1Jp`!1?KYS>LYy|^7`H5eEbK&*E{OSC*6dNU~Kkt<=Mub0$*=y zLz{Qk^bFU#)O7gV_@t}wq2E=q-O-*tfjhU1hvAlp&|xn07DJ{&_JgT$QNiqNQV^Y#HW0Wp#2D797}F(%;Oe_v}js& zMr*Z%8=nydWTf46QUKH3?UtJ%N0b1aQ~#O3aaVx8djaH!4r4B$>XP&4FWyj-7Ar4E zqd>fk*rJHz^lMl5gNpj30a}DQF`~#38F9OEAwP`QhX-0^xvP+l(&n0o+PVQt?4h$?dLwkW z{6i?6Q!13s!zxr|1=R!cNg#lRAHF(p{^B!CgJ;CO5G~7PIk}c_%fg^i8RT{p=C4Ht zMd%!t-o12A0{Ld7?0$d)4BY_$=I7YS4bnzCSp$+1mguGv18k8#c7~ol8Qw{UF(IOJ zJc*rWQ-Dv@yM5?Ih`cJr_Rwj;y3Z2(BXC~uOD}fyi2(qi894VU?w@lb01bEzoF?Vf z<<^ogGzEi_8=<2FU6nM*voik?W?ES?LQ9^NMTxL}rj_?uI4>$M^PiOYjL;bY{9^Pu zafZ1*sTg$baT(+Aol*=sA8;8H@Z}VP&PQCvBz%9Z7`j+5BXuTSD1LSpJFMM@;mZ+D z!_ZwVqjhe8)2+O87}K05bu1W(k=97b2pviqZItOO2MR^xe*f1LiG8>B#l&ZP9Z8PHtX&tto}ABXgVDl$IhLj^Ab$TFQO z3_}>|=q#1q2%Q!cN@tr2rPB(i;?dWk7<7`-yN6Cnh0-~xLS?G>V8Sy1OhHE_u~#SI z6RG898oSRh4Gz(er=!x?ODCg3>8Lc^x?~#XWg4AySSn_?^9+4g$!MK)s9Q1U<6$}2 zpAOY427T{P3_46mF`!pI3^^qQB6OCjK}vHc5cH_x&cJz5c>@qqf)Oo9H4g)o zXHtdIk!LkUgwCTXl+Kj&M(8{&NAjEKJfa45I%<5sN!u(4L6w)?US9SvFDIp@-E>r5 z_Rx7qh0;-Z*+b_M6-r0tWe=Tit57;BFMH@bD)X|Nj>?PM68M@WEV=u2_5vWwWKe{T zQsb^>st~kMadm_s$R-)&E~#}9*{E5t7XjJsA;uh-ja|#yqWHWkED2^#CBKgjBg$}{ z@CJv!5EtGB`Y!#|sxk4aRhRrqxI^kwPSU7#9p@R>GH%PE-Y!gFkfJjsz1?)4P@!~Y zR4APnR4AQ5{yarZ*zyleyXowg-hFhajjeh28TuZVjNNpU-hFh=sZcsfuiMMK9Cqp) zs;)t0-;mKd=}?Pe(DzftphJE6ov9n4jBS`E1M;W}qH`Q5#FwZ*aOD~L@02XJiX$MY zpg;tkdtHrda@x5HfL=PBshP0%-4_9JqGS``Oi8J7F)G4od?C7ewI!BR<|zw+4`p;J zfD4sj+Y<%oH2xle-KIePv`oFwKxd8g?x9l$*di4 zkY2arkxVKsofo9Ho6e6_D4iF9*Gg4pm&Q{9^eqLD8lB}X10MHLrjnM>0$zR@!g50c z9bKTv8Tx2hFz9ggk)J8XyiN-2rlSQs)d-Xe9%xt%??xbB18bKhr~#Oqeq!+S0RsTd zlmdex8J98h8qz4POK(qo0Q`-%bMjD#yus3V0IGUlz68IfT6caBhAT@M9(^ z1N6fc>ni{{hG+q}s@)H`PiXX(p-j9-gs^!>xdYmVd!;kD{*0TRLj7<=C_U20O=cnW znHY%n^A~dw8X6jlW_pq$w5fAP2$zlb9Z~V3@pL+Vi;AuN6p3f>uSa^uuoFgvdawy8 zB!BTn7Wiv_sCQ&&h}%&@eTkm2gV^1JAN(Ev;Bfzl_Q!jA@MF14rQ^c~sZT{h8MN2Q zqoZu3SBE3cWyBDd+@vel6ilD*4$7O|IQ|;VgqaCT|DmYs1 zamYRX8gjLc94qx%$UO_W0n7>d(fZaQfcnU4#nJfIe?&`UGj$&AeLZN(QQt#*k-w+e zw!KIDw;)K%;m2D=HF*Iuso$)e%vyhvGoX!)YYPkgb z3mv&vAomL7G|!ZKo03T}>{ZCU3c0l;oJXhsF3?PecF}UD9T_@W_X+s5+^H`qePuyP zs7LF&7o?WUJ*VWnmlMinjB!7}IAIca>NZ)fpEP;IgyX`IPZV7E5w`zctv z%Mw4nTt<-}n)fg$?I&Yt+7f4Ic<0f)$3Sa8S&wA#7KDw$d00k1-vlV9%TaN=B~qH{ z@W_AG@xzf%_8v<#mTAhf^N$c@ru*;*EU|TwC#QKY&yoA}SxY?OiMcu$)#wi5v5#3e z>g)+>FI}T};?+;0K7u&Yi0~>f*$&Wp1%7_X)3@dumiTxz0-Zv{h*H; zbPTlDyema7X#FrhZzU0w|Kk##m(KGbKAu;U^V0codd@r92LI1Mq71*&{2V+-ukzxv z|A!6w(-d6k@jnmJZ_r-_9WZFFG|CM6dCQh_!<%2UTK5Cr7&(s>MPc-E&itzMugiuO4GK98Vl{vr5zL!+kos^cApJ^D`2 z3;x-od3&)B|Hnkj|D}rCq-nMfp5suDB|ZgymF3Z&16^j&kAq%gd;F(CKV|U05BjXZ z=Sr-}p#Kf@ghBrl^ihNU1?a3n$B?l{=g@1M-10@-Zy>K9-QM;1!jX;T)8h+!%x-N8 zgj4mmon)4pik3UUXN$|()A$t zla4(3p9ihSANC~b*W(qAV~M{9U(*)oS5{*0SmK=~YS21; z?%Oo=YYL~xMduv(7zBB)NXs*S&l+?LbW$<#St)quw|;bb+@Gl)OALXp_iO6GR!~daA|qu3ziQ2FwS#mPk`2Y7D;~wwBEBw`pcm8K1I^s1+Did zl71Dm-k(Ss7pw@qKauom(0YF&>Gh!Xo>wEPzUVL6v zt{=_k{yp_r;sfC8{d_w8vqt@#1z+#)BmXhbdS9QGKQ+f*tq?=sYkN=*60O!&5!To;fQTaV|cXQ$AeeJ?;~A|65kJ6pZOr21FiQ^l0FMspP3=eYi89O9)4Ql3!o>R??3prB;p&OwLL0O z-WkyRK5&HjgZwW*>+?mVe+OC`Uuu2ndvJ5`_ZO6}_vAkbTJNE!{;z=6=dmdN ze?jZL=;Z$dw3&Vh#xDK+30ED8i$IS%?Qap*e=9)ib79oi2wI;VA-#osqdfaS>+>(< zCqe7;Rit@mwSI!|+{^fGeHDlgg4TOzDgPnRTpv_Hmihk-=sv@qPlMJ^5S|x7>-Pa{ z4?hEK>i->ReO80|7I3V>{4|3O$MmY)u}ih86`*zeMZN-YHE4ZCg7IHRd8hqXh$6w8 zrA>S8Gvc%T^?}aSdi9silP?jsgKlx=UycIYXRV(gJRbn9&)qQn4}sQu@A4rsk^o$>z}v_9KG{l5gQzwfjBHpVuy|1Jcr_un%L zxk=Z6*57YfAG`{%+o->7p!Jy!rpJqY^_h>$K@Wp&HS&7`v_A7i{S%}+Zvv`*LDb+vO-~J7>K6l6XFM-zQD@p$jG}lwgetxkCW3xX0 zK>ih=_4`)-<22r3Y})?@(94bfvKO@PYdZZ>aR{_Nw@H0BgVtv|NWT+wlM(+tp!FVb z@=t*_+uw&k>-R~Ev7-6kpp%CE9|O(xWE0H5_)me>d-q8{5851WehOMY%=NE8>+_zJ zufi*4-de5fQy{JYokRWcp}p%soB6vQv=o;7m(I774@o|3FWsQ^IXCK$gVuZIN%u28 z-Y;O%@}Dc{GntJ42xxtNl=NeuO?!V6v_50S_WC2x z`V1E7UxU_95FXwQYxc*>`I}8vm#;`%3)*ZSuLG^mBryF=p!GQs(w(4l7%#Pb`5zMa zey9&>X|E*dcCFtp-T_*ld13t9KEYGu` z`M!uxc2F>*|cM~lV1>&Qi&Go_OKZ-Lh5Vo1+` z)=vSEi2kqInOsrQqeqz=2XD_<1HV?|1M~Az4mXE$M-e4 zK0*Fp0%C%8585p68$j#x=akElc4!NN7v`~K%4FP zUqS2h;*|dlXpYC0#rp9J8x6&*?bxWAZJ_o2 z2BbSd>w6+dM?rrH??0Yp{ekWWtUom2i}pr0|u`@aUQ z&#tn*zXn>b7rFlYzo7LKgy+Yg&GqlEK~EX_Z2UxQ+GiPmGN!TdaJ;-0v_7NB{HzD< zwU3w1H-px95|AHZeCG+m?I%5@?OP-=p!xoqA)Fshf;Q{(3}}6Zl=?o(_|6lg8y_8t z>dUT1L`_`m!7VA+SB2YOy7q3?7r5kIZKVUuT9v=Xi1LR2?p4s{^;L z2MC4W?WsH1+soiuTvLN+wF%tOR@WHX5UQ{1O=kvC&2UCDxHJk^k42+fTBBP#H|^LG zZQio2Z6|KribmT}-5qUR-5~lBY3JgzXl5wdi#y%0Q*NH1XcRYc9ZZh&#FNp!%t(4P z8Xr3%upcj##JxCup$*q<2t)HcLQ&d4ZSlj+G`#FhZo7;2jSUUmB1U@NiffJ-eI243 zoG5n}=0)SpL!sVY-0&429!=s3u94v=_9Z40C~?=8&E3X*aj;A+j1UfW{o!}9@zS5c z5txh~_g*mP60#639Lt2l#${jLWm@{?AM@5MeKpW1O97qkzlItyE;wRB?lnXEL8z;s zHanLa>C1_ zQC>F08;ha|)R3xDTn&dtk%$hXPI~D<6B-rKJu69=B=o=C{z`XgUsq z=IL)}?18l;r{0a+!mXaIxI@axdNehF3)C9&sc8QQt_SOLBW+7$aMzYjA2&gfGK+#@ za5L%1ut1Me#e;ED>Dtk;R0@|3!Z^G|PM4flQn~7+a_mLLtzW71ND8HJ?6YTcGn()S z`VmGVZjp`izC~6)iynmsJ77t(OTZZ%N{yuxt|yA&BaV?oiXdCjcff5 z<4K4rPZ~ZYp>Eb=eIC9Jay7j8t`{vRilIm)=JsZ$D%{{92#xeo(GbU6xakBclS%ZX z4>25f>uDYO)+*F`{ykNcg(!FFh8pW}fnd}bZMN)eamO0v|I?3k!zgexs%v?xYyzsu zA(-vfX@8yZ!O?_!y(I3>8cQY8hX+ST(!4*b_mI3Xs~2(P@2b3s>uqbvgj~#X{Riwc-HSg-| zj&^l#+Ppp5)pp|+Aus=mrjbus>GUBcYYWYhb!FUSmS51W_~Ar!@79RhRB`#(815uQ zK|2$ffi(VQaP)%GBS>z{mR4{FGZb82V}>NL7BTFER>2uZ_l(|D3S&Z8X2~^i8+V3l z>!Z7LVvZRZ?$YMb)iPh^u<6^eBW^Ms#*$_J3q5r{-RstLYP=2+Geoa<0UIW0@BTRs zv%8#&HPKOy#G^gP8wM>^`>;j-;1RR}Rh6o_BT$cT#@J>yFm3l}OSFD{G&2&#P^z@c zt~iFFB&BZii*hCArXpLHV-1*T^VUs5^?1?Mwj;V@R|^_Lw0j4a9kMq$qI=P}Fs6a$ zY_E4)-YACFcX=Eg$D|*#~#lq-FbU@zqinIpPZ*wz;c8@9?O36Ne0Y)m(Qz&E& zeV*mr_D1VOMsQ8ud<~TYl+%}n;z#67dWk-C$syyuK6z)Rb8(|Lym&ch8{%cD&8VHO zJrS&x+qz(Avj@BP@aev#+7m_)UR0WQcdcGksmXwIBeICGz1LU)A%y)xHW#O+yh_k5 zf9@z3%|A~eW1Ck5%LW0>ZhYAt_3eT8iU9}vNH!_-+9byD?je&1Fd3MJoiOSM>7emU+ z6uH`R?yE)1_6D{2%OwX0-={C;kIoiV; zbKO4cbabUb%`lD$#?)#paU{`;12|~gEt}N0LhyAaoG(ZLGuZ`UvJs-P%#l~m4HzPu^-Z|m_@a7| zuCO^P182xcas`dFoRK1anBSVrnVv;MXO_!CFFE&KUN@$ktz|8HO)0OQb!2&iYTmHy zRI%*%j^7+%qM5v*UQx^z*BD;bIml&3GWgcUF)rG=WmCjiWa!ax5M@=fw|mF5T*h%7 z>VE&ic<$H&qm$(5mV>N03n*5#>atzVRi|nglgmyFGn|dO)N~Y`b1^cywA*5ILO2J8 z(IdaY=PdDLqz1QTbJgWecTRHd8cfoq41J&AgP{;#M85_11$C zw0Gd-+gSWyq6@2!!T!PC7Jk8)djq>%pYq#c6szLF)IcH~Pok+9YYk{ZKAcspT#B$i z$ePcuA9Gef@y#YSG}0#rfsVl;tPN$R^?mPn%VgZHuIk1ai_{4{otM1oKd3JKmUi`e z5x&Oau3f#HsaKs{4oAvQ3(UD2-Z8bB&+}RzR?G=pEuTc|m&Xt}z~&cNE#=`^xn$6<_2dxDN^6jn#&6?z4TS}a zT$acyget_sections_num(); ++j ) - { - Elf_Half index = segments[i]->get_section_index_at( j ); - section* sec = sections[ index ]; - if (sec->get_addr_align() > section_alignment[index]) { - section_alignment[index] = sec->get_addr_align(); - } - - if ( segments[i]->get_align() > section_alignment[index] && - j == 0 ) { - section_alignment[index] = segments[i]->get_align(); - } - } - } - for ( unsigned int i = 0; i < worklist.size(); ++i ) { - Elf_Xword segment_memory = 0; Elf_Xword segment_filesize = 0; - Elf_Xword current_data_pos = 0; + Elf_Xword seg_start_pos = 0; + segment* seg = worklist[i]; - // Write segment's data - for ( unsigned int j = 0; j get_sections_num(); ++j ) { - Elf_Half index = worklist[i]->get_section_index_at( j ); + // new segments (no sections or not generated sections) + // have to be aligned + if( !seg->get_sections_num() + || ( seg->get_sections_num() + && !section_generated[seg->get_section_index_at( 0 )] )) { + Elf64_Off error = current_file_pos % seg->get_align(); + current_file_pos += ( seg->get_align() - error ) % seg->get_align(); + seg_start_pos = current_file_pos; + } else { + seg_start_pos = sections[seg->get_section_index_at( 0 )]->get_offset(); + } - section* sec = sections[ worklist[i]->get_section_index_at( j )]; + // Write segment's data + for ( unsigned int j = 0; j < seg->get_sections_num(); ++j ) { + Elf_Half index = seg->get_section_index_at( j ); + + section* sec = sections[ index ]; std::streampos headerPosition = (std::streamoff)header->get_sections_offset() + header->get_section_entry_size()*sec->get_index(); - // calculate the required alignment - // when the has already been generated then no alignment is required Elf_Xword secAlign = 0; - if ( section_alignment[index] > 1 && - current_file_pos % section_alignment[index] != 0 && - !section_generated[index] ) { - secAlign = section_alignment[index] - - current_file_pos % section_alignment[index]; + // fix up the alignment + if ( j != 0 && sec->is_address_initialized() + && SHT_NOBITS != sec->get_type() + && SHT_NULL != sec->get_type() ) { + // align the sections based on the virtual addresses + // when possible (this is what matters for execution) + Elf64_Off req_offset = sec->get_address() - seg->get_virtual_address(); + Elf64_Off cur_offset = current_file_pos - seg_start_pos; + secAlign = req_offset - cur_offset; + } else if (j != 0) { + // if no address has been specified then only the section + // alignment constraint has to be matched + Elf64_Off error = current_file_pos % sec->get_addr_align(); + secAlign = ( sec->get_addr_align() - error ) % sec->get_addr_align(); } // determine the segment file and memory sizes - segment_memory += sec->get_size(); + // special case .tbss section (NOBITS) in non TLS segment + // + if ( (sec->get_flags() & SHF_ALLOC) + && !( (sec->get_flags() & SHF_TLS) && (seg->get_type() != PT_TLS) + && ( SHT_NOBITS == sec->get_type())) ) + segment_memory += sec->get_size() + secAlign; if ( SHT_NOBITS != sec->get_type() && SHT_NULL != sec->get_type() ) - segment_filesize += sec->get_size(); + segment_filesize += sec->get_size() + secAlign; - if( section_generated[index] ) { - current_data_pos = convertor(sec->get_offset()); + // nothing to be done when generating nested segments + if(section_generated[index]) { continue; } current_file_pos += secAlign; - if ( j == 0 ) - current_data_pos = current_file_pos; - + // set the section addresses when missing if ( !sec->is_address_initialized() ) - sec->set_address( worklist[i]->get_virtual_address() ); + sec->set_address( seg->get_virtual_address() + + current_file_pos - seg_start_pos); + sec->save( f, headerPosition, (std::streamoff)current_file_pos ); if ( SHT_NOBITS != sec->get_type() && SHT_NULL != sec->get_type() ) current_file_pos += sec->get_size(); @@ -621,13 +627,12 @@ class elfio } Elf64_Off segment_header_position = header->get_segments_offset() + - header->get_segment_entry_size()*worklist[i]->get_index(); + header->get_segment_entry_size()*seg->get_index(); - worklist[i]->set_file_size( segment_filesize ); - worklist[i]->set_memory_size( segment_memory ); - worklist[i]->save( f, - (std::streamoff)segment_header_position, - (std::streamoff)current_data_pos ); + seg->set_file_size( segment_filesize ); + seg->set_memory_size( segment_memory ); + seg->save( f, (std::streamoff)segment_header_position, + (std::streamoff)seg_start_pos ); } return true;