shyouhei
9d9e1a4d65
addr2line.c: more on suppressing warnings
...
See also: 454269559 (L1898)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-13 02:19:49 +00:00
nobu
9d2f88fc13
addr2line.c: fix compilation for i386-darwin
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-09 11:19:23 +00:00
naruse
fc1f476b61
addr2line.c uses c99ism
...
450505006
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-04 22:36:05 +00:00
naruse
e6d63ac606
Use symtab if there's no .dSYM file
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-04 15:14:42 +00:00
naruse
5bc93ec743
Use C90 comments
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-31 11:08:07 +00:00
mame
ab20aee573
addr2line.c: add explicit casts for clang on 32bit environment
...
Assigning uint64_t to size_t or uintptr_t caused a build error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-23 12:38:48 +00:00
naruse
879b42b043
check VLIW case
...
If maximum_operations_per_instruction != 1, it is VLIW.
But there seems no need to support such architecture now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-21 20:01:22 +00:00
naruse
448a014d42
initialize is_stmt with default_is_stmt
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-21 16:42:23 +00:00
naruse
6018bc5e73
Use inline function with stable code instead of macro
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-21 16:37:24 +00:00
naruse
e01c9c743f
fix sign of integer variable
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-21 10:46:56 +00:00
naruse
ec91ea5c16
check version of .debug_info
...
and refactor related code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-21 00:08:02 +00:00
naruse
69e328b532
Skip dwarf if its version is not supported
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-21 00:07:53 +00:00
naruse
5b1bbc9af0
fix header_length's type to unsigned long
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-20 06:56:51 +00:00
naruse
d79f72521e
fix r65202 on ELF environment
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-20 06:45:51 +00:00
naruse
595056135f
Support Mach-O on backtrace with DWARF
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-20 06:35:25 +00:00
naruse
fe735bd30f
Support DWARF4's .debug_line
...
ICC uses DWARF4 for .debug_line which adds
maximum_operations_per_instruction in its header.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-20 06:18:41 +00:00
shyouhei
ad564b87ad
addr2line.c: minimal workaround to prevent parse error
...
"//*" is super dangerous for non-C++ compiler.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-19 02:01:46 +00:00
shyouhei
c102e5e0ea
addr2line.c: this file has no portability
...
It seems nobody on earth is interested in such thing for it.
Ignore compiler warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-19 00:35:42 +00:00
naruse
2a59b579fe
Check the end of Compilation Unit by unit length instead of level of tree
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-17 01:29:49 +00:00
naruse
0f92eba17f
Support base address selection entry
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-16 23:57:47 +00:00
naruse
e9a284ab94
Correct the handling of .debug_ranges
...
Though DWARF specifies "the applicable base address defaults to the base
address of the compilation unit", but GCC seems to use zero as default.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-16 23:52:28 +00:00
naruse
447d7a394f
The value of .debug_ranges are uintptr_t
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-16 23:52:28 +00:00
naruse
f60c2d396d
If high_pc uses DW_FORM_addr, it's not size but address
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-16 23:52:26 +00:00
naruse
417fc484c3
check dwarf version and skip non Dwarf v4
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-16 07:12:26 +00:00
nobu
f572aeb71f
Moved hexdump macro before used
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-14 23:45:33 +00:00
nobu
bb9eea9065
Make local functions static
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-14 23:40:27 +00:00
naruse
8bf4d89917
Read debug_info to show inline functions in backtrace
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-14 16:59:15 +00:00
svn
19f9d30249
* expand tabs.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-13 05:36:51 +00:00
normal
d3e1afacaa
addr2line.c: fix *printf type warnings on 32-bit
...
Yup, back to using an ancient 32-bit system...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-13 05:36:50 +00:00
svn
eca36f9cd8
* expand tabs.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-11 23:58:21 +00:00
naruse
0b81f7bfe7
Revert wrongly commit debug_info feature
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-11 23:58:20 +00:00
naruse
d3853d7c10
Support FreeBSD
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-11 23:55:47 +00:00
naruse
628e85c7b3
Support compressed debug_info
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-11 23:55:47 +00:00
naruse
136d24ea1b
free line info leaves
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-11 23:55:46 +00:00
naruse
336f86f2ee
close dlopen-ed handle
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-11 23:55:45 +00:00
naruse
69f06e9e84
fix
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-11 23:55:45 +00:00
naruse
692a5f2164
Support additional forms
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-11 23:55:44 +00:00
naruse
37ea0f19a7
Show backtrace with .debug_info
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-11 23:55:44 +00:00
naruse
139f0bb44f
Read .debug_info
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-11 23:55:43 +00:00
k0kubun
af0e536d03
addr2line.c: fix -Wmaybe-uninitialized
...
../addr2line.c: In function ‘fill_lines’:
../addr2line.c:709:8: warning: ‘file’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (file != NULL) {
^
../addr2line.c:535:11: warning: ‘filesize’ may be used uninitialized in this function [-Wmaybe-uninitialized]
off_t filesize;
^~~~~~~~
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-16 13:22:00 +00:00
nobu
893949167b
Fix issues detected by code analysis tool (mainly Coverity).
...
* Fix leaked storage in addr2line.c.
* Fix for "top_root" leaking the resource.
[Fix GH-1956]
From: Jun Aruga <jaruga@redhat.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-15 09:59:14 +00:00
naruse
4d2e0fffb0
FreeBSD 11.0 lacks ELFCOMPRESS_ZLIB
...
FreeBSD 11.0 unfortunately lacks ELF compression definitions in their
elf.h (sys/elf_common.h), and 11.1 introduced them.
b9167d33a1
Though we can add workaround, we simply drop support because
FreeBSD 11.0 is already EOL at November 30, 2017.
https://www.freebsd.org/security/unsupported.html
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-13 19:12:23 +00:00
naruse
0ca505347c
Don't free allocated uncompressed_debug_line until backtrace is printed
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-13 08:48:30 +00:00
naruse
cc1c605912
Define parse_compressed_debug_line() only ifdef SUPPORT_COMPRESSED_DEBUG_LINE
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-13 06:31:37 +00:00
naruse
bcf8f79d6d
support compressed debug_line
...
re-commit r64328
https://blogs.oracle.com/solaris/elf_section_compression-v2
https://gnu.wildebeest.org/blog/mjw/2016/01/13/elf-libelf-compressed-sections-and-elfutils/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-13 06:20:12 +00:00
naruse
843589a726
Revert "support compressed debug_line"
...
This reverts commit r64328
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-13 06:05:39 +00:00
naruse
a20a2b0044
support compressed debug_line
...
https://blogs.oracle.com/solaris/elf_section_compression-v2
https://gnu.wildebeest.org/blog/mjw/2016/01/13/elf-libelf-compressed-sections-and-elfutils/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-13 02:56:06 +00:00
kazu
ae83c35b90
Add PRINTF_ARGS to kprintf
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-31 15:20:54 +00:00
normal
63efc86bf7
addr2line.c (kprintf): static
...
This function is not used outside of addr2line.c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-09 03:07:59 +00:00
normal
0528838b37
addr2line.c: no need to keep fd around after mmap
...
POSIX mmap(3) manpage stipulates mmap bumps the reference
count of the file description. Thus keeping a file descriptor
to maintain the reference is not necessary.
If this didn't work, every extension .so would require a
permanent FD, which is obviously not the case.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-08 23:43:14 +00:00