[COMMITTED htdocs] Fixup markup. Add license. Tweak CSS.
Make sure that index.html is valid HTML 4.01 Transitional. Add note about the elfutils targeting GNU/Linux first. Add license section. Tweak CSS and formatting. Signed-off-by: Mark Wielaard --- default.css | 12 +-- gplv3-88x31.png | Bin 0 -> 2666 bytes index.html | 59 --- lgplv3-88x31.png | Bin 0 -> 1955 bytes 4 files changed, 44 insertions(+), 27 deletions(-) create mode 100644 gplv3-88x31.png create mode 100644 lgplv3-88x31.png diff --git a/default.css b/default.css index 1316f21..6a30e11 100644 --- a/default.css +++ b/default.css @@ -30,8 +30,8 @@ DIV.abstract { DIV.content { padding-top: 8px; - padding-left: 132px; - padding-right: 132px; + padding-left: 10%; + padding-right: 10%; overflow: hidden; border-width: 0; text-align: left; @@ -39,3 +39,11 @@ DIV.content { DIV.list { font-family: mono; font-size: 9pt; margin-left: 12pt; padding-bottom: 3pt; } + +HR { +display: block; +margin-top: 1.5em; +margin-bottom: 1em; +border-style: inset; +border-width: 1px; +} diff --git a/gplv3-88x31.png b/gplv3-88x31.png new file mode 100644 index ..ba78d4c4941dabf2fcac5409a92ac4c57920c69f GIT binary patch literal 2666 zcmV-w3YGPVP)Px#32;bRa{vGVivR!tivi)#(!2lw00(qQO+^RT0uvMpF24YJ`L;(K) z{{a7>y{D4^014_zL_t(&-tC%skW|$b#(x5`77PlZ01Xf|tXfvU1+9P)Nl;9MMIeIW zf~A;|yxWx-F&@d<9Z!mSGK`{-NXD*+V< z1U?qnFHjo71r>243NtglEQV7Q5|M$wwPW#3mU1Xa75(4)}+D^1dj!r-wg;N!7wPTlz6cv~* zaG8PJ%ocdxi%_r(8VF2J2gJd((|x~-stE3f0*?zktgtfz_z{7D0<}|XS^^CmbayaJ zV6ea`S+E+%|4L05^x|!{8+(dT?jEM~Js`$27+y6h2%>GgYF0wJYE0l-O z)7o925Tv&W;2eAZgu;B5;j^dJ8-bz3oKpjkZt1g)zX^66mI| z)j_Xp5wNzxdh2k6HU6=}>lr5fjzC|47oe%aZiQ_MKeNs1Wz;5au`^ddqYxT8_`O0| z2+eKGVG3K)+k_Uu1%|7S@cDv!RA5U0Jp{%pe3tfppM%?rytQ5}8P;njwoMwi^#raG z_|!q~0P19O58V`YC~Ow^rGefh%fweYXuAOFEA&%1pirdH-T=NSi#0u9by^9`QxJv5 zHjl?NEpVEPINjb~s%aLOrIZQ$Er2cpYhwES(!o;>ZWd4fj>h!yt-vP^&Rzf~rSJ-% zg@aKFTLZW-2{m&$=#dIvD=Zf1XvcR*1&`sq0ThV$zmI09^NGMv1M6&ojS7EJsBiOF z8n;M=9{?nvrNFcK_*#Yg1^TDhK}Ke?#C57YX(PO#~hmZ&YIfXpm0?Of77b zcz4lUy){(?;9j;d=Zg=NarIQ8n^{2*frBCRE`gImI7i`?I3Q90+X5fTF_*Oh*9+WO z1x|lZpeTTXIJ}Zj$9dYg#Asf_jNm>ECo6nxzAm326$kDY0%zN14N};eq2A;GS}N34 z_?^POB%Ep+b3>f}wIrZv1mNKjYL#A=I=IZiomF5OUkN;%%t28n`n7hnwKmOUxi!^C z?!7sJ)RYjqCgH3A+6T}!^hf+gd!G=mbKa5;2^2Z#5Q*l| zfdhdl0@EDyF+dtC++#s#w6j4H&?112wh__NE(zy`FhF3r<@t|C0A7{B|L)KTzz$ld zr)$xAGn~&v$ExqQqQD+9qd48hXc$805H1yOr8Q%W^E8V!qcoEr7HA|sO)M9(j7va) zLPO)u<>K8*eH(mXo|E4b6{n4!WlMoas%ZhvALqY1(?UYejX$qum2H*6CFz(2o?R^x zDEv(hmVvj&jg=p^uDHvkZKlwQXnG#Q_KXL#Ubbsr9Nn7x7-IFOx}g0W@Fj z20>x8!ootY1Jtn~{dF~g`?~m)`Q!|iyHa6%kmfQnQM3*U9~p3ePDSc@Q2%*2Wf?S% zmJ%okp_W5IHRG)GOwilcdW(Gu*4g{T~>dyLTd*<7nqH5>P4bO#m15lF^bQk0@fXG4I;>Zi8G4~)h=aS0UnUjaR`^J~?z=+$ zHTWKdViR&!n`TiY-;I@$Nas4sHq*3$R%RqSBP!U};>Y>BK#9N@@vNzKHf)UY&9JQQ zCMxp?bTg|ev(NnmCWO%6!B~MAp&w|lz>EMc4xx`RjCHn%FPzVQekwkb8YeK{!Gi*~ zsNb|P0)6c!`IJklP`iK9vb6vc-7RoHJ0Nq5dRwk5m+UDA)gAo?O?LN0*eFN#QW*D#LIwjzkygL(4{)S zRcNGevoWb@0%ujrt~sxh79Qi@G*o92@TaP*zZ6=F7pc}Mlq8{3Nv<1-3c80vD-#)#iR!fAg3`3i=|n0Ep+VCB*yVN$x?2_YiZ5k$@3&Tcz#W!=Gm9%=?NxpL Y19h*OP%`Tk_W%F@07*qoM6N<$g8#_jNdN!< literal 0 HcmV?d1 diff --git a/index.html b/index.html index a60c6be..c79dccc 100644 --- a/index.html +++ b/index.html @@ -1,11 +1,12 @@ -http://www.w3.org/TR/REC-html40/loose.dtd";> - - +http://www.w3.org/TR/html4/loose.dtd";> + + + The elfutils project @@ -13,7 +14,6 @@ ELFUTILS - @@ -21,17 +21,16 @@ http://elfutils.org/";>elfutils is a collection of utilities and libraries to read, create and modify ELF binary files, find and handle DWARF debug data, symbols, thread state and - stacktraces for processes and core files. + stacktraces for processes and core files on GNU/Linux. - The current https://sourceware.org/git/?p=elfutils.git;a=summary";>elfutils source code can be checked out with: - git clone git://sourceware.org/git/elfutils.git +git clone git://sourceware.org/git/elfutils.git Please reports bugs at https://sourceware.org/bugzilla/";>https://sourceware.org/bugzilla/ @@ -44,12 +43,12 @@ To subscribe to the elfutils development list send email to mailto:elfutils-devel-subscr...@sourceware.org";>elfutils-devel-subscr...@sourceware.org. Or enter your e-mail address in the box below and hit the button: - https://sourceware.org/cgi-bin/subscribe-sourceware";> - - - - +https://sourceware.org/cgi-bin/subscribe-sourceware";> + + + + See the https://sourceware.org/git/?p=elfutils.git;a=blob_plain;f=CONTRIBUTING;hb=HEAD";>CONTRIBUTING file for how to propose patches to the code. @@ -135,9 +134,19 @@ Included backends for machine specific ELF handling: - aarch64 al
[COMMITTED htdocs] Add old wiki pages from fedorahosted.
Most of these pages are years out of date, but they contain useful (historical) information. Add an index of old wiki pages and a link from the main page. All pages are the text versions of the old wiki page. Signed-off-by: Mark Wielaard --- DebugInfo| 21 ++ DebugInfoTesting | 4 + DwarfArchive | 141 ++ DwarfCmp | 19 + DwarfInterObject | 57 ++ DwarfLint| 193 +++ DwarfLocations | 66 DwarfOutput | 51 + DwarfProducer| 79 +++ DwarfReaderSharing | 96 +++ DwarfRelocatable | 158 ++ DwarfRelocs | 16 DwarfTasks | 84 + DwarfUnwinder| 20 + DwarfValues | 123 ++ DwarfXml | 80 DwflProjects | 28 +++ OldWikiIndex | 61 +++ RoadMap | 48 RpmDebugInfo | 22 ++ SuspiciousDebuginfoCases | 148 ThreadSafety | 64 index.html | 1 + 23 files changed, 1580 insertions(+) create mode 100644 DebugInfo create mode 100644 DebugInfoTesting create mode 100644 DwarfArchive create mode 100644 DwarfCmp create mode 100644 DwarfInterObject create mode 100644 DwarfLint create mode 100644 DwarfLocations create mode 100644 DwarfOutput create mode 100644 DwarfProducer create mode 100644 DwarfReaderSharing create mode 100644 DwarfRelocatable create mode 100644 DwarfRelocs create mode 100644 DwarfTasks create mode 100644 DwarfUnwinder create mode 100644 DwarfValues create mode 100644 DwarfXml create mode 100644 DwflProjects create mode 100644 OldWikiIndex create mode 100644 RoadMap create mode 100644 RpmDebugInfo create mode 100644 SuspiciousDebuginfoCases create mode 100644 ThreadSafety diff --git a/DebugInfo b/DebugInfo new file mode 100644 index 000..51ca79b --- /dev/null +++ b/DebugInfo @@ -0,0 +1,21 @@ +== separate debuginfo conventions == + +We have the existing convention of a debuginfo path, with directories like /usr/lib/debug wherein we look up individual ELF files' .debug counterpart file. The old convention is by name (/usr/lib/debug/usr/bin/foo.debug for /usr/bin/foo with .gnu_debuglink foo.debug). The new convention (tried first) is by build ID (/usr/lib/debug/.build-id/xx/xxx... in lowercase hex of the build ID bits), yielding a symlink to the individual .debug file (-> ../../usr/bin/foo.debug). + +If we go whole hog on DwarfInterObject debug.a format, then we no longer have individual .debug ELF files to find. + + * Compatibility: + For older tools (gdb, crash, etc), have an exploder tool that turns debug.a back into individual .debug files (with copies in place of interobject refs). + * New lookup convention. + 1. Could keep .build-id/xx/... symlink convention, but when the symlink is to an archive, find the ELF member with matching ID. + a. Symlink has automagic tie in for RpmDebugInfo to enable {{{yum install /usr/lib/debug/.build-id/...}}} + 1. Just check all of /usr/lib/debug/*/debug.a by that name convention, match IDs inside (same even by name w/o IDs?) + 1. Some new kind of lookup database in /usr/lib/debug/.build-id/something + a. Separate ones would be same as */debug.a with internal ID map. + b. Consolidated database in /usr/lib/debug needs fiddler tool, RpmDebugInfo %post magic (or resp. other packaging systems) + + build ID lookup map + +Build IDs lend themselves to a sorted table optimized for binary search. A quick lookup table could be inside each package's debug.a like a {{{__.SYMDEF}}} pointing to the archive member with the ID. A consolidated table in a file could point to the archive files by name; putting it like that makes the symlink hack sound OK. + +Lookup table would indicate: number B of bytes in a build ID, number N of IDs in the table. Then an array of N offsets (archive member offsets or offsets into a string table), followed by N*B bytes giving the corresponding array of N B-byte IDs. The arrays are sorted by memcmp ordering of the IDs. Binary search by ID value is optimal, and the offset fields are aligned regardless of B. \ No newline at end of file diff --git a/DebugInfoTesting b/DebugInfoTesting new file mode 100644 index 000..2f34ade --- /dev/null +++ b/DebugInfoTesting @@ -0,0 +1,4 @@ +=== mass-testing against distro debuginfo files === + +stub page, fill in details from +https://lists.fedorahosted.org/pipermail/elfutils-devel/2009-January/65.html diff --git a/DwarfArchive b/DwarfArchive new file mode 100644 index 000..ba003c3 --- /dev/nu
dwfl_module_addrinfo and @plt entries
Hello, how do I get symbol information for @plt entries? Consider the following case: ~~~ $ objdump -j .plt -S lab_mandelbrot | head lab_mandelbrot: file format elf64-x86-64 Disassembly of section .plt: 2aa0 <_ZN7QWidget4showEv@plt-0x10>: 2aa0: ff 35 62 35 20 00 pushq 0x203562(%rip)# 206008 <_GLOBAL_OFFSET_TABLE_+0x8> 2aa6: ff 25 64 35 20 00 jmpq *0x203564(%rip)# 206010 <_GLOBAL_OFFSET_TABLE_+0x10> 2aac: 0f 1f 40 00 nopl 0x0(%rax) ~~~ Now I report dwfl the above binary at address 0x56360eaff000. Then I try to get information about the address 0x56360EB01AA0 (i.e. at offset 0x2aa0, corresponding to the @plt entry above). dwfl_module_addrinfo returns a NULL string, and offset equals the input address. So, how do I use the dwfl API to also get sym names for @plt entries like in the case above? Thanks -- Milian Wolff m...@milianw.de http://milianw.de signature.asc Description: This is a digitally signed message part.