History log of /external/elfutils/libdw/dwarf_getsrclines.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b47fb2366f2ac3015d7cf9ae3938392196609831 16-Nov-2015 Dmitry V. Levin <ldv@altlinux.org> libdw: initialize state early in read_srclines

Starting with commit f8443bd09f8a8d3d84a63e5ce206a218e57dff7a,
we might jump to "out" on error before initialization of "state".
Initialize "state" early to fix this issue.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
/external/elfutils/libdw/dwarf_getsrclines.c
f8443bd09f8a8d3d84a63e5ce206a218e57dff7a 14-Oct-2015 Chih-Hung Hsieh <chh@google.com> No nested functions in dwarf_getsrclines.

Move nested functions in libdw/dwarf_getsrclines.c to file scope.

Signed-off-by: Chih-Hung Hsieh <chh@google.com>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
9e3d5c2656c993e391cc126f9e1bb921e0af4873 09-Jun-2015 Mark Wielaard <mjw@redhat.com> libdw: Initialize dirarray early in read_srclines.

We might jump to "out" early on error. Help gcc see that isn't an issue
by initializing dirarray to dirstack early.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
20956b84ef14a4ca110e1b23754b756c09bb2ee9 03-Jun-2015 Mark Wielaard <mjw@redhat.com> libdw: Initialize filelist early in read_srclines.

We might jump to "out" early on error. Then filelist might not be set yet
and we might try to free garbage. Set it to the null_file early.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
e69f59c6710c8861c2be95699e6e7806b1de2941 22-May-2015 Mark Wielaard <mjw@redhat.com> libdw: Limit stack usage of temporary dir, file and line lists.

Limit stack usage of lines with MAX_STACK_LINES, files with MAX_STACK_LINES
and dirs with MAX_STACK_DIRS. Calculate number of dirs needed first, then
create dirarray directly, without needing the next field. Free not stack
allocated lines and files at the end.

Use preallocated stack arrays for all instead of calling alloca to help
compiler see actual stack usage.

The current stack allocation limits are 4096 lines, 1024 files in 256 dirs
per CU. For GCC 4.8 libstdc++.so has on average 512 lines per CU. With
these settings read_srclines uses max 228K of stack on x86_64.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
dedb5e738826b51f12e0a216fad6be3b60668995 06-May-2015 Mark Wielaard <mjw@redhat.com> libdw: Detect line number overflow in dwarf_getsrclines on 32bit.

We do check whether the values we store for the line fit our data
representation in add_new_line, but on 32bit systems we would fail
to notice line overflowing.

https://bugzilla.redhat.com/show_bug.cgi?id=1170810#c32

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
71de1d2a8a3fffc83c707642a24f350d7217f83c 01-Apr-2015 Petr Machata <pmachata@redhat.com> Do not reject type units in dwarf_getsrcfiles and dwarf_getsrclines

Signed-off-by: Petr Machata <pmachata@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
ecd78d3b4303db5b05666578162b230b23936797 16-Dec-2014 Mark Wielaard <mjw@redhat.com> libdw: Check diridx is valid under DW_LNE_define_file in dwarf_getsrclines.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
ff1ce97525529bc4b68d0a48d0ae95a1f67f3779 16-Dec-2014 Mark Wielaard <mjw@redhat.com> readelf,libdw: Correct .debug_line overflow check for unit_length.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
7a053473c7bedd22e3db39c444a4cd8f97eace25 14-Dec-2014 Mark Wielaard <mjw@redhat.com> libdw: Add get_uleb128 and get_sleb128 bounds checking.

Both get_uleb128 and get_sleb128 now take an end pointer to prevent
reading too much data. Adjust all callers to provide the end pointer.

There are still two exceptions. "Raw" dwarf_getabbrevattr and
read_encoded_valued don't have a end pointer associated yet.
They will have to be provided in the future.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
6e1c0d966f38c15d57e403384f1edbcc155b981d 12-Dec-2014 Josh Stone <jistone@redhat.com> libdw: Make srclines use a stable sort

This adds a sequence number to the linked-list entries, so the original
order can break ties in sorting, making this a stable sort.

Signed-off-by: Josh Stone <jistone@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
020fc02c554226a914e9dd17394236eabe3f03d3 24-Nov-2014 Mark Wielaard <mjw@redhat.com> readelf, libdw: Guard against divide by zero line_range in .debug_line.

For DW_LNS_const_add_pc and special opcodes don't accept line_range
being zero.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
09086238f39daab4060d0e5f39f89820a0771d8c 11-Nov-2014 Mark Wielaard <mjw@redhat.com> libdw: Fix dwarf_getsrclines.c 32bit compile error.

__libdw_getsrclines should have been marked as internal_function in
both libdwP.h and dwarf_getsrclines.c. Do address_size comparison as
uint8_t to avoid signedness warning.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
fb90bf3f84b5683bbc1f234ee05008ff26250e5c 17-Oct-2014 Petr Machata <pmachata@redhat.com> Support .debug_macro

- This code is based on the following proposal:
http://www.dwarfstd.org/ShowIssue.php?issue=110722.1

- dwarf_getmacros serves either of .debug_macinfo or .debug_macro
transparently, but if the latter uses opcode 0xff, it bails out with
an error. The reason is that in .debug_macro, 0xff is a custom code
that can mean anything, while in .debug_macinfo there's fixed
semantics associated with 0xff.

- dwarf_getmacros_off is a new interface used for requesting iteration
through transparently included units.

- dwarf_macro_getparamcnt and dwarf_macro_param are new interfaces
used for requesting number of parameters of an opcode and individual
parameters. dwarf_macro_getsrcfiles is a new interface used for
requesting a file part of .debug_line unit associated with macro
unit that the opcode comes from.

- The existing interfaces dwarf_macro_opcode, dwarf_macro_param1 and
dwarf_macro_param2 remain operational for old- as well as new-style
Dwarf macro sections, if applicable.

- dwarf_getsrclines was made into a light wrapper around a worker
function that loads line unit given its offset. The worker also
caches loaded units in an offset-keyed search tree, so that we don't
end up re-reading units even though they were read in a different
domain (e.g. a macro unit request can prime cache for later CU
lookup). dwarf_macro_getsrcfiles calls the worker function under
covers.

Signed-off-by: Petr Machata <pmachata@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
564cfbe20beb077c3441400c4b0c406478043d76 15-Oct-2014 Petr Machata <pmachata@redhat.com> Drop unused field struct Dwarf_Files_s.cu

Signed-off-by: Petr Machata <pmachata@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
4aacfc156995739d388de524b5dd8c55e952e568 02-Jul-2013 Mark Wielaard <mjw@redhat.com> libdw. Don't blow up stack in dwarf_getsrclines with lots of lines.

When a CU has a really large number of lines dwarf_getsrclines could blow
up the stack because it uses alloca for temporary storage. Use malloc and
free if the number of lines gets too big.
/external/elfutils/libdw/dwarf_getsrclines.c
9affad3d2314de1bacbabae453a7261cc02feac4 03-May-2013 Mark Wielaard <mjw@redhat.com> libdw: dwarf_getsrclines don't set end_sequence when there are no lines.

Some CUs might only have a file list, but no actual source lines in their
statement list. Only set end_sequence at the end of the source lines list
if there are actually lines.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
60ef9ab76eecfa175bc0bea4ab6005a947987781 25-Mar-2013 Mark Wielaard <mjw@redhat.com> libdw: dwarf_getsrclines mark highest address as end_sequence.

Make sure the highest address for the CU is marked as end_sequence.
This is required by the DWARF spec, but some compilers forget and
dwfl_module_getsrc depends on it. We could reject it as bad DWARF
but the DWARF .debug_lines spec is much stricter than what compilers
seem to output in practice.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
f1b06b5c1d9837832e74a61e19220ad5670bbc40 12-Mar-2013 Mark Wielaard <mjw@redhat.com> libdw and libdwfl srcfiles and srclines fixes for partial_units.

dwfl_getsrclines would always fail, even when lines were found.
dwarf_decl_file, and other functions relying on srcfiles or srclines would
fail for DIEs in partial_units because stmt_lists on partial_units
were ignored.

Note that dwz contained a bug which makes things fail in __libdw_formptr
for DW_AT_stmt_list with a bogus DW_FORM even with these fixes.
https://bugzilla.redhat.com/show_bug.cgi?id=919755

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
de2ed97f33139af5c7a0811e4ec66fc896a13cf2 05-Jun-2012 Mark Wielaard <mjw@redhat.com> Update name, license and contributor policy.

* Change name from "Red Hat elfutils" to "elfutils".
* Update license of standalone tools and test from GPLv2 to GPLv3+.
* Change license of libraries from GPLv2+exception to GPLv2/LGPLv3+.
* Add Developer Certificate of Origin based contributor policy.

top-level:

- COPYING: Upgraded from GPLv2 to GPLv3.
- CONTRIBUTING, COPYING-GPLv2, COPYING-LGPLv3: New files.
- NEWS: Added note about new contribution and license policy.
- Makefile.am: Updated to GPLv3, added new files to EXTRA_DIST.
- configure.ac: Update to GPLv3, changed AC_INIT name to 'elfutils'.

backends, lib, libasm, libcpu, libdw, libdwfl, libebl, libelf:

- All files updated to GPLv2/LGPLv3+. Except some very small files
(<5 lines) which didn't have any headers at all before, the linker
.maps files and the libcpu/defs files which only contain data and
libelf/elf.h which comes from glibc and is under LGPLv2+.

config:

- elfutils.spec.in: Add new License: headers and new %doc files.
- Update all license headers to GPLv2/LGPLv3+ for files used by libs.

src, tests:

- All files updated to GPLv3+. Except for the test bz2 data files, the
linker maps and script files and some very small files (<5 lines)
that don't have any headers.

Signed-off-by: Richard Fontana <rfontana@redhat.com>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdw/dwarf_getsrclines.c
499b8ff4be1b82f47b04529e6cf22f94d6bd45ac 22-Jun-2010 Roland McGrath <roland@redhat.com> Fix signed comparison warning in extended opcode parsing.
/external/elfutils/libdw/dwarf_getsrclines.c
c70cf4e5e5a463b64673c4e80bcf60c938b437b4 19-Jun-2010 Roland McGrath <roland@redhat.com> Record new line table fields, export APIs to fetch them.
/external/elfutils/libdw/dwarf_getsrclines.c
3f63307977c4760331407cef6ee4886a88a0a1d2 16-Jun-2010 Roland McGrath <roland@redhat.com> Handle DWARF4 .debug_line format.
/external/elfutils/libdw/dwarf_getsrclines.c
675229bb5dcf38df3c09f7f74e41b861e32dd0f2 02-Jun-2010 Roland McGrath <roland@redhat.com> Remove meaningless DWARF_VERSION macro.
/external/elfutils/libdw/dwarf_getsrclines.c
05c4e04640d173a4d1ce6e2f25a24060c21a67ab 18-Jun-2009 Roland McGrath <roland@redhat.com> Do some constification to avoid dubious casts.
/external/elfutils/libdw/dwarf_getsrclines.c
99d2372b25d1231d786b70278478c7a112f2b27c 15-Jun-2009 Ulrich Drepper <drepper@redhat.com> Squashed commit of the following:

commit 77abb31cb8d55980ef92260917a7ecdd228b1a44
Author: Petr Machata <pmachata@redhat.com>
Date: Mon Jun 8 15:46:16 2009 +0200

Fix a bug in offset checking

commit b794eac4f8d3e08101b5d2924523b1259bbc1b17
Author: Petr Machata <pmachata@redhat.com>
Date: Wed Jun 3 16:00:01 2009 +0200

Cosmetic, get rid of defining several variables per line

commit a23938fe35d515a3d75a51f6204771f3cf6c9ec4
Author: Petr Machata <pmachata@redhat.com>
Date: Wed Jun 3 15:50:03 2009 +0200

Restructure the code to decrease the binary size

commit 7c301e3d4e8584dfb3174855fb6af3d5791dfeed
Author: Petr Machata <pmachata@redhat.com>
Date: Mon Jun 1 19:43:28 2009 +0200

Shuffle a couple pieces of code around to make the code smaller

commit 6325323482c2a3e17409d32c7feec9461be26614
Merge: 83ac53d... e94b1b2...
Author: Petr Machata <pmachata@redhat.com>
Date: Fri May 22 08:49:07 2009 +0200

Merge branch 'master' of ssh://pmachata@git.fedorahosted.org/git/elfutils into pmachata/reader_hooks

Conflicts:
libdw/ChangeLog

commit 83ac53db400945c074e77ec9904efe550903a0e2
Author: Petr Machata <pmachata@redhat.com>
Date: Fri May 22 08:40:25 2009 +0200

Call reloc hook with the original address, not incremented

commit f1996388745566abc1ca1c1700b3b7eded208575
Author: Petr Machata <pmachata@redhat.com>
Date: Wed May 6 16:53:03 2009 +0200

Rewrite boundary checking logic so that it's immune to arithmetic overflow

* ... also get rid of some code redundancy.

commit 0c1df732822d83548edd0d005f3450281ed1701b
Author: Petr Machata <pmachata@redhat.com>
Date: Wed May 6 16:25:09 2009 +0200

__libdw_read_offset* take extra argument for header size checks

* also presence of debug data and buffer is checked in __libdw_in_section

commit 6fb192e360f842cacb34a90c03cd0524cccc3dec
Author: Petr Machata <pmachata@redhat.com>
Date: Wed May 6 15:51:20 2009 +0200

Check for presence of data before loading the offset

commit a2e7612b165d83dd241225f87075fa4f58d18781
Author: Petr Machata <pmachata@redhat.com>
Date: Wed May 6 15:04:16 2009 +0200

Cosmetic changes

commit 8b1aad2c2f6c8dc02b3e704e4f386c1827e385cb
Author: Petr Machata <pmachata@redhat.com>
Date: Tue May 5 15:34:13 2009 +0200

Improve reader hook functions a bit

* ... so that they are closer match to what's need on call sites

commit 3854b7fbab2fe331711365f94a295af82164d0d2
Author: Petr Machata <pmachata@redhat.com>
Date: Tue May 5 14:33:50 2009 +0200

Fixes in use of reader hooks in __libdw_formptr and dwarf_formudata

* and a bit more

commit 335075596b6acef6e59919155e2b087e690a572d
Author: Petr Machata <pmachata@redhat.com>
Date: Tue May 5 14:32:39 2009 +0200

Rename __libdw_read_udata_addr to __libdw_formptr

commit 8273a2adaf8cb2ee203926af2849e4f96f8a6eaf
Author: Petr Machata <pmachata@redhat.com>
Date: Tue May 5 02:53:40 2009 +0200

Introduce __libdw_read_udata_address

* the use in dwarf_ranges is iffy, there's a functionality mismatch.
Need to find some better way

commit 1c897f4abde1530038d332f4fc03a596a24f6aaf
Author: Petr Machata <pmachata@redhat.com>
Date: Mon May 4 18:09:13 2009 +0200

ChangeLog entries for previous commit

commit 90d7c39454468b91c0fd6514a4e8d821222d6adb
Author: Petr Machata <pmachata@redhat.com>
Date: Mon May 4 18:07:54 2009 +0200

Fix bugs, introduce __libdw_read_begin_end_pair_inc

commit 9b3923f5b69a3e56590769435c4693f057acdc1f
Merge: 6200ba6... 589b3d3...
Author: Petr Machata <pmachata@redhat.com>
Date: Mon May 4 12:22:21 2009 +0200

Merge branch 'master' of ssh://pmachata@git.fedorahosted.org/git/elfutils into pmachata/reader_hooks

commit 6200ba62aa9ea3cb9318f73a27181907a528dbe4
Author: Petr Machata <pmachata@redhat.com>
Date: Wed Apr 29 15:31:28 2009 +0200

dwarf_getlocation_addr uses read hooks

commit ecbb8cdd8b500e37dc34fc246b912f704fe31ca4
Author: Petr Machata <pmachata@redhat.com>
Date: Wed Apr 29 15:16:09 2009 +0200

dwarf_ranges and dwarf_formref use read hooks

commit cb8f67b29a896c2660c10aa1028a9dbb377553e9
Author: Petr Machata <pmachata@redhat.com>
Date: Tue Apr 28 18:39:04 2009 +0200

Convert several new functions to use read hooks

commit b130453eb16a8cf042915e312cc5f189b8b92c01
Author: Petr Machata <pmachata@redhat.com>
Date: Tue Apr 28 18:38:27 2009 +0200

Add length read hooks

commit bd885ff694817b965231d99f1ab867947998e734
Author: Petr Machata <pmachata@redhat.com>
Date: Tue Apr 28 18:36:17 2009 +0200

Constify read hook arguments

commit 66fe03f1e489a88b89a15c9e13f9bd33db2729b1
Author: Petr Machata <pmachata@redhat.com>
Date: Tue Apr 28 16:11:05 2009 +0200

Change type of return value of offset read hooks to Dwarf_Off

commit 22b36e00cc228f5a966f84ca3323e5d652923ce8
Merge: 5b3534b... a7cb532...
Author: Petr Machata <pmachata@redhat.com>
Date: Mon Apr 27 19:05:25 2009 +0200

Merge branch 'master' of ssh://pmachata@git.fedorahosted.org/git/elfutils into pmachata/reader_hooks

commit 5b3534b62cbd45fe4f11dd1be3e492237938cce0
Author: Petr Machata <pmachata@redhat.com>
Date: Mon Apr 27 18:53:06 2009 +0200

Rewrites in read hooks

* Have the checking and reading logic itself in the header so that it gets
optimized out/inlined. Call external relocating hook from there, there
will presumably be more work to do, and we presumably don't want to keep
this in the header.

commit 9e265d71d0eb900e76d6fdb0196ef4fc6507f3a7
Merge: 1783089... 300f3a4...
Author: Petr Machata <pmachata@redhat.com>
Date: Thu Apr 23 17:45:25 2009 +0200

Merge branch 'master' of ssh://pmachata@git.fedorahosted.org/git/elfutils into pmachata/reader_hooks

commit 1783089b184ddea2081bbe5ac4e80420cb6b0803
Author: Petr Machata <pmachata@redhat.com>
Date: Thu Apr 23 17:44:48 2009 +0200

Use the new reader hooks in several places

commit 11c3d97a5b40ea15edf324092b03da3050610d01
Author: Petr Machata <pmachata@redhat.com>
Date: Thu Apr 23 17:40:03 2009 +0200

Introduce reader hooks
/external/elfutils/libdw/dwarf_getsrclines.c
c5acb304d81cdbe3f8b923f2a6ac1bee3af9f498 29-Jan-2009 Roland McGrath <roland@redhat.com> (struct Dwarf_Files_s): Replace dbg field with cu field.
/external/elfutils/libdw/dwarf_getsrclines.c
a969d8e19470157be1b8b2e1a693ac7702bf4273 22-Jan-2008 Ulrich Drepper <drepper@redhat.com> Add missing copyright year updates. Fix ChangeLog.
/external/elfutils/libdw/dwarf_getsrclines.c
b27ce0029031cec586ccd6b8ba1e26d3bccbcad9 18-Jan-2008 Ulrich Drepper <drepper@redhat.com> Fixup after DWARF_VERSION bump.
/external/elfutils/libdw/dwarf_getsrclines.c
35f08c4d52d0ffd9f8aa50f47b84de5603842b1f 18-Jan-2008 Ulrich Drepper <drepper@redhat.com> propagate from branch 'com.redhat.elfutils.nickc.pending' (head 28d6423325f0cc14a133eb6b92a8c3604e437ba6)
to branch 'com.redhat.elfutils' (head 6ef48518ed8497626058574c787852bd939d46ee)
/external/elfutils/libdw/dwarf_getsrclines.c
43da9895c6d828ceae65a47f2337e8ef24eb97c1 17-Apr-2007 Roland McGrath <roland@redhat.com> libdw/
2007-04-16 Roland McGrath <roland@redhat.com>

* libdw.map (ELFUTILS_0.127): Add dwfl_module_address_section.

libdwfl/
2007-04-16 Roland McGrath <roland@redhat.com>

* derelocate.c (cache_sections): Apply bias to sh_addr.
(compare_secrefs): Fix address comparison to avoid signed overflow.
(find_section): New function, broken out of ...
(dwfl_module_relocate_address): ... here, call it.
(check_module): New function, broken out of ...
(dwfl_module_relocate_address): ... here, call it.
(dwfl_module_address_section): New function.
* libdwfl.h: Declare it.

tests/
2007-04-16 Roland McGrath <roland@redhat.com>

* dwfl-addr-sect.c: New file.
* Makefile.am (noinst_PROGRAMS): Add it.
(dwfl_addr_sect_LDADD): New variable.
/external/elfutils/libdw/dwarf_getsrclines.c
1e9ef50681e20ef14c2ba38aef37a71ff148be08 05-Apr-2006 Ulrich Drepper <drepper@redhat.com> Fix FSF address. No exception for libdwarf.
/external/elfutils/libdw/dwarf_getsrclines.c
361df7da6dfecd817b27e62b91752ac316d7cdd4 04-Apr-2006 Ulrich Drepper <drepper@redhat.com> propagate from branch 'com.redhat.elfutils.roland.pending' (head 4f8fc821345feef58624f0aa5b470d4827577d8c)
to branch 'com.redhat.elfutils' (head 76e26cb54695fd3b21ee8fb5be3036bd68200633)
/external/elfutils/libdw/dwarf_getsrclines.c
07d4f2fc1cb53f170a71bc13617bbdd9cb1c3c60 28-Oct-2005 Roland McGrath <roland@redhat.com> libdw/
Fixes to last changes.

tests/
2005-10-27 Roland McGrath <roland@redhat.com>

* run-find-prologues.sh: New file.
* Makefile.am (TESTS, EXTRA_DIST): Add it.
/external/elfutils/libdw/dwarf_getsrclines.c
6d5c3bdf1b37ddb328604d0d5894d7aa70402366 11-Aug-2005 Ulrich Drepper <drepper@redhat.com> Correct fallout of renaming of DW_LNS_set_epilog_begin.
/external/elfutils/libdw/dwarf_getsrclines.c
b08d5a8fb42f4586d756068065186b5af7e48dad 26-Jul-2005 Ulrich Drepper <drepper@redhat.com> Adjust for monotone.
/external/elfutils/libdw/dwarf_getsrclines.c