Commit Graph

23 Commits

Author SHA1 Message Date
Ian Lance Taylor
47f4703c33 libbacktrace: declare getpagesize if necessary
libbacktrace/
	PR libbacktrace/95012
	* configure.ac: Check for getpagesize declaration.
	* mmap.c: Declare getpagesize if necessary.
	* mmapio.c: Likewise.
2020-05-11 10:51:59 -07:00
Jakub Jelinek
8d9254fc8a Update copyright years.
From-SVN: r279813
2020-01-01 12:51:42 +01:00
Jakub Jelinek
a554497024 Update copyright years.
From-SVN: r267494
2019-01-01 13:31:55 +01:00
Tom de Vries
6d760a0197 [libbacktrace] Don't point to released memory in backtrace_vector_release
When backtrace_vector_release is called with vec.size == 0, it releases the
memory pointed at by vec.base.

Set vec.base set to NULL if vec.size == 0 to ensure we don't point to released
memory.

Bootstrapped and reg-tested on x86_64.

2018-11-27  Tom de Vries  <tdevries@suse.de>

	* mmap.c (backtrace_vector_release): Same.
	* unittest.c (test1): Add check.

From-SVN: r266505
2018-11-27 08:26:04 +00:00
Ian Lance Taylor
3fe3c7d749 re PR other/68239 (libbacktrace allocation is sometimes very slow)
PR other/68239
	* mmap.c (backtrace_free_locked): Don't put more than 16 entries
	on the free list.

From-SVN: r257039
2018-01-25 02:24:45 +00:00
Jakub Jelinek
85ec4feb11 Update copyright years.
From-SVN: r256169
2018-01-03 11:03:58 +01:00
Jakub Jelinek
cbe34bb5ed Update copyright years.
From-SVN: r243994
2017-01-01 13:07:43 +01:00
Carlos Liam
84ebf639b8 * all: Remove meaningless trailing whitespace.
From-SVN: r240084
2016-09-11 13:44:07 +00:00
John David Anglin
09b08e17f5 mmap.c (MAP_FAILED): Define if not defined.
* mmap.c (MAP_FAILED): Define if not defined.

From-SVN: r233196
2016-02-06 22:27:34 +00:00
Jakub Jelinek
818ab71a41 Update copyright years.
From-SVN: r232055
2016-01-04 15:30:50 +01:00
Ian Lance Taylor
c478516be7 re PR other/67457 (segfault in libbacktrace)
PR other/67457
	* backtrace.c: #include "internal.h".
	(struct backtrace_data): Add can_alloc field.
	(unwind): If can_alloc is false, don't try to get file/line
	information.
	(backtrace_full): Set can_alloc field in bdata.
	* alloc.c (backtrace_alloc): Don't call error_callback if it is
	NULL.
	* mmap.c (backtrace_alloc): Likewise.
	* internal.h: Update comments for backtrace_alloc and
	backtrace_free.

From-SVN: r227533
2015-09-08 16:46:16 +00:00
Ian Lance Taylor
981d281fed re PR other/67457 (segfault in libbacktrace)
PR other/67457
	* mmap.c (backtrace_alloc): Correct test for mmap failure.

From-SVN: r227529
2015-09-08 13:49:19 +00:00
Jakub Jelinek
5624e564d2 Update copyright years.
From-SVN: r219188
2015-01-05 13:33:28 +01:00
Ian Lance Taylor
d573fd89a5 mmap.c (backtrace_free): If freeing a large aligned block of memory, call munmap rather than holding onto it.
* mmap.c (backtrace_free): If freeing a large aligned block of
	memory, call munmap rather than holding onto it.
	(backtrace_vector_grow): When growing a vector, double the number
	of pages requested.  When releasing the old version of a grown
	vector, pass the correct size to backtrace_free.

From-SVN: r210256
2014-05-09 05:01:08 +00:00
Richard Sandiford
afeba5cb1d Update copyright years in libbacktrace/
From-SVN: r206292
2014-01-02 22:24:37 +00:00
Ian Lance Taylor
bfd74f227d alloc.c (backtrace_vector_finish): Add error_callback and data parameters.
* alloc.c (backtrace_vector_finish): Add error_callback and data
	parameters.  Call backtrace_vector_release.  Return address base.
	* mmap.c (backtrace_vector_finish): Add error_callback and data
	parameters.  Return address base.
	* dwarf.c (read_function_info): Get new address base from
	backtrace_vector_finish.
	* internal.h (backtrace_vector_finish): Update declaration.

From-SVN: r205716
2013-12-05 18:32:02 +00:00
Ian Lance Taylor
85d8c21edb alloc.c: #include <sys/types.h>.
* alloc.c: #include <sys/types.h>.
	* mmap.c: Likewise.

From-SVN: r197057
2013-03-25 18:13:18 +00:00
Richard Sandiford
f8a7e1a44d Update copyright years in libbacktrace.
From-SVN: r195165
2013-01-14 18:17:30 +00:00
Ian Lance Taylor
2a5195d965 re PR other/55536 (libbacktrace abort in backtrace_alloc at mmap.c:99 running btest)
PR other/55536
	* mmap.c (backtrace_alloc): Don't call sync functions if not
	threaded.
	(backtrace_free): Likewise.

From-SVN: r194768
2013-01-01 16:13:20 +00:00
Ian Lance Taylor
8fe91dea4f mmap.c (backtrace_vector_release): Correct last patch: add aligned, not size.
* mmap.c (backtrace_vector_release): Correct last patch: add
	aligned, not size.

From-SVN: r192956
2012-10-29 18:42:05 +00:00
Ian Lance Taylor
8277de3441 mmap.c (backtrace_vector_release): Make sure freed block is aligned on 8-byte boundary.
* mmap.c (backtrace_vector_release): Make sure freed block is
	aligned on 8-byte boundary.

From-SVN: r192945
2012-10-29 15:43:37 +00:00
Rainer Orth
c0558468b8 Fix libbacktrace bootstrap with gcc 4.4
* fileline.c: Include <stdlib.h>.
	* mmap.c: Likewise.

From-SVN: r191414
2012-09-18 09:02:50 +00:00
Ian Lance Taylor
eff02e4f84 libbacktrace/:
* Initial implementation.

./:
	* MAINTAINERS (Various Maintainers): Add libbacktrace.
	* configure.ac (host_libs): Add libbacktrace.
	(target_libraries): Add libbacktrace.
	* Makefile.def (host_modules): Add libbacktrace.
	(target_modules): Likewise.
	* configure, Makefile.in: Rebuild.

gcc/go:
	* config-lang.in (target_libs): Add target-libbacktrace.

From-SVN: r191397
2012-09-17 16:38:38 +00:00