From 2e38e74b73093f579a81bccc2b7206fdc590317b Mon Sep 17 00:00:00 2001 From: John Dallaway Date: Sun, 4 Feb 2024 17:02:53 +0000 Subject: [PATCH] Add GNU archive content presentation improvements to N&N --- NewAndNoteworthy/CDT-11.5.md | 8 ++++++++ .../images/CDT-11.5-archive-content.png | Bin 0 -> 13533 bytes 2 files changed, 8 insertions(+) create mode 100644 NewAndNoteworthy/images/CDT-11.5-archive-content.png diff --git a/NewAndNoteworthy/CDT-11.5.md b/NewAndNoteworthy/CDT-11.5.md index 9239724ab8a..9efcb0e721c 100644 --- a/NewAndNoteworthy/CDT-11.5.md +++ b/NewAndNoteworthy/CDT-11.5.md @@ -24,6 +24,14 @@ A complete set of external symbols is now presented under COFF binary object fil The revised presentation matches that observed for ELF binary object files. +## GNU archive content presentation + +The original locations of object files within a GNU archive are now calculated using path information where available. This enables presentation of source file names and symbols under archive files within the _Project Explorer_ view: + +

+ +Managed build _Static Library_ projects using a _Cross GCC_, _Cygwin GCC_, _Linux GCC_ or _MinGW GCC_ toolchain now use the `-P` archiver flag by default to generate the necessary path information. + # API Changes, current and planned ## Breaking API changes diff --git a/NewAndNoteworthy/images/CDT-11.5-archive-content.png b/NewAndNoteworthy/images/CDT-11.5-archive-content.png new file mode 100644 index 0000000000000000000000000000000000000000..16c600cbfc3ee026faeb1b20479e89d8c60087d3 GIT binary patch literal 13533 zcmaib2UJtrx^-yMlrD($CL%(lNRg`2k&Yr=K?J45P(uk|P!Va;TL3A7C`F1uD8VR5 z4@mDsTId8q=;dwBJ>$J|-~9_?WTfo1zP;97d(Usq`7I)h4Ye=OU8VzpKo@j%G)zGt zG8ph;r8x)uqFl@3rbC}&)=28kzOIo2m(P*2xyLBH2&QhFRTJl2PT;JRr@^Jg^UeiER zzxgQfekj!XZOha0@^Y^8Ka%E?FU*qp`O&@_z5Rl9{JPwwu&fi2KOj7-F12b{Ml_knP@BS5Fi7AKE$gNKpLSATh^d}_3tpBi45&DFhK3IQEy7B%4V3Z&> zxDZUn)9>T@8%iUovvK2`r>H^>V?!i!H>QMx1&On+5GJ+btd2htvonjyI^5&ZR|;y5 z9(K8*EV-vEOp%|ag=0MSa$xv<*OqnBGB(KZ0^R1p*nGS1+1dBf{4l3`=}8W&O7aoq zt|5s!ml4#U&@JHSvP6VvJJ)T#iOpK3@T?_;Qk@1NgNuvKt8%+@AoF+r z97hHg(_QgRo7XNv2}_Dph-?ZVa#De_yk(P5dy{8#y-}CMWsB`AT)Vt~K#c!7hT!9D zOcG+ysqYfGOoOHXmg1U$7J-$O)q%7;7*KTSvo=ZT4-tQY5ZY0(F;qVUW^SGyh11s7 zZkcI`Z25fui+2Q{l@aMvuxQYZ_$ih-a9vzf#5m;#JwhOvSCmH6W>}n7qFEr8dBx=W z3ZiZ718?Nj^BRxF@<@*pJrcfZbi#F(sW0qzRNwgm8HgFbr#C{nYCEmM{-boGciRR8 zI>?H`6&4gU$BXFGi9qHI&(4H|V=1*)(c(#ESs{VLo=X?~RvMjkDJ3-7Tgu-G3Dv5P zU}NrzG$gWpyl2_*Qo>g3NpfDIx9~^Fap6&M%Uhmuxfh;g51o*9Op3?wkzq%Q=e?Cm z)7E_Fd_SY%adGiO_tUsBH35Q7$a+v9 z(6$Up-Vz=U)?aTHZF(W9?balb0O#^xwO80xQ}BbNGw-5&LQl!*sv8>DD}jm>nraY9YFvR_%(KsC%0AwD4qaDM6J8JS2{4RrGV3_bMxXH4_-)Rk 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