Граф коммитов

24 Коммитов

Автор SHA1 Сообщение Дата
naruse 3de1811788 * addr2line.c (kprintf): added from FreeBSD libstand's printf.
this is consided as async signal safe function.

* addr2line.c (rb_dump_backtrace_with_lines): use kfprintf.
  [Bug #8144] [ruby-core:53632]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-23 16:05:51 +00:00
naruse 65a277d717 * addr2line.c (rb_dump_backtrace_with_lines): output line at once.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-21 15:04:57 +00:00
kosaki 585afbbc6a * vm_dump.c (rb_vm_bugreport): revert r38533.
* addr2line.c (fill_lines): add ELF sanity check.
  [Bug #7597] [ruby-dev:46786]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 17:21:12 +00:00
knu 1c0323adbc Fix build when gcc is used and the platform's libc lacks alloca().
* include/ruby/ruby.h (alloca), eval_intern.h (alloca), gc.c
  (alloca): Make alloca() globally available by moving the
  ultimate ifdef's to ruby/ruby.h.  Gcc hides its builtin alloca()
  when compiling with -ansi, and linking thus fails on platforms
  that lack their own alloca() implementation in libc, which
  include OpenBSD and some ports of NetBSD.  We use alloca()
  everywhere including from within third party C extentions, so
  alloca() must be made globally available. [Bug #7307]

* addr2line.c (alloca): Replace the alloca() part with the
  ultimate ifdef's. [Bug #7307]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-09 03:34:08 +00:00
naruse cc4c0ab862 * addr2line.c: SIZE_MAX is defined in stdint.h, so r36755 breaks
32bit FreeBSD. [ruby-core:47360] [Bug #6948]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-29 05:37:28 +00:00
nobu b78fdf1a82 addr2line.c: suppress warnings
* addr2line.c (fill_lines): check file size overflow only if it is
  necessary, and suppress a sign-compare warning.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 13:32:13 +00:00
usa 9bae83f89f * addr2line.c (fill_lines): need check and cast of the file size of
target binary because there are some platforms which off_t > size_t.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 08:32:01 +00:00
naruse 6a7666e562 * io.c (io_encoding_set): suppress warnings. [ruby-dev:45627]
this tmp1 is not required after r35538.

* addr2line.c: suppress warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-06 12:39:59 +00:00
nobu c037f1f616 * adjust style.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-15 01:39:00 +00:00
naruse 4342469e8c * addr2line.c (PATH_MAX): define if not defined. [ruby-core:40840]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-08 14:31:56 +00:00
naruse e33183acca * addr2line.c: use USE_ELF instead of __ELF__ because Solaris
doesn't define it. USE_ELF is already provided by configure.
  patched by Naohisa Goto. [ruby-dev:44066] [Bug #4998]

* addr2line.h: ditto.

* vm_dump.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-08 12:23:10 +00:00
mame eb78d224e3 * addr2line.c: fix r32407 to check HAVE_ALLOCA_H.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-05 05:08:23 +00:00
mame a5305216bb * addr2line.c: include <alloca.h> to fix a build issue on Solaris.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-04 16:32:05 +00:00
naruse 6a288deabc * addr2line.c (uleb128): cast the value to unsigned long.
* addr2line.c (fill_lines): print error when lseek fails.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-02 16:14:32 +00:00
naruse 48de1e292a * addr2line.c: suppressed shorten-64-to-32 warnings.
* regcomp.c: ditto.
* regexec.c: ditto.
* regint.h: ditto.
* regparse.c: ditto.
* regparse.h: ditto.
* time.c: ditto.
* variable.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-31 03:44:57 +00:00
naruse e57215bf51 * addr2line.c (get_nth_dirname): decrement the directory index
because the index specifies the index of given included_directories
  which is separated by NUL and its index is begun from 1.
  Note that 0 specifies the current directory of the compilation.
  see also http://www.dwarfstd.org/doc/dwarf-2.0.0.pdf

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-12 15:35:07 +00:00
naruse 4acff773ae * addr2line.c: OpenBSD uses the elf_abi.h header file instead of the
elf.h header file. patched by Jeremy Evans [ruby-core:34384]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-12 02:35:07 +00:00
naruse 22b2c63855 * addr2line.c: Follow .gnu_debuglink section.
A user of distribution provided ruby will see line
  info if s/he has a debug package for ruby.
  patched by Shinichiro Hamaji [ruby-dev:42655]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-01 00:32:19 +00:00
naruse 87703540b0 * addr2line.c (parse_debug_line_cu): ignore DW_LNE_set_discriminator.
To ignore, it needs to read a sigle unsigned LEB128 integer.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-30 08:06:24 +00:00
nobu 3c36edc0d2 * configure.in: link addr2line only for ELF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 06:43:30 +00:00
nobu e394ddd2f7 * addr2line.c: needs <errno.h>.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 02:02:43 +00:00
nobu ca86a063d5 * addr2line.c (rb_dump_backtrace_with_lines): should close fd on
edge case.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 23:16:24 +00:00
naruse 39e7b2fb94 * addr2line.c: apply a patch from shinichiro.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 04:39:23 +00:00
naruse 086301ac73 * addr2line.c: added to show source filename and line number of
functions in backtrace. [ruby-dev:42625]
  a patch from shinichiro.h <shinichiro.hamaji AT gmail.com>

* addr2line.h: ditto.

* common.mk: add addr2line.$(OBJEXT).

* configure.in: check dl_iterate_phdr.

* vm_dump.c (rb_vm_bugreport): use rb_dump_backtrace_with_lines in
  addr2line.c when the binary is ELF.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 03:28:50 +00:00