Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Introduce a compile-time flag to diagnose file locking issues #1368

Open
wants to merge 79 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
6a5a5fc
Initial commit
ianlancetaylor Sep 10, 2016
8424131
libbacktrace: initial commit
ianlancetaylor Sep 10, 2016
ba79a27
all: remove meaningless trailing whitespace
ianlancetaylor Sep 11, 2016
14d377e
README: correct link to C++ unwind API
ianlancetaylor May 29, 2017
17f687d
Update from gcc trunk version of libbacktrace at svn rev 256427. (#8)
thanm Jan 12, 2018
ee9cd27
Restore functionality of 'install' target. (#10)
thanm Jan 15, 2018
862169a
.gitignore: add simple .gitignore file
ianlancetaylor Jan 15, 2018
f2c17c0
libbacktrace: update to GCC SVN revision 256776
ianlancetaylor Jan 17, 2018
4183d76
Add text used for "inflate large" test.
ianlancetaylor Jan 17, 2018
3739537
libbacktrace: rebuild configury with GCC standard tool versions
ianlancetaylor Jan 17, 2018
b0d6903
* mmap.c (backtrace_free_locked): Don't put more than 16 entries
ianlancetaylor Jan 25, 2018
051ecb4
README: mention XCOFF, call this version 1.0
ianlancetaylor Jan 25, 2018
4300eed
* pecoff.c (coff_add): Use coff_read4, not memcpy.
ianlancetaylor Jan 25, 2018
97dd0df
* pecoff.c (coff_add): Another memcpy -> coff_read4 fix.
ianlancetaylor Jan 25, 2018
8a4e4ea
* pecoff.c (coff_add): Only release syms_view if it is valid.
ianlancetaylor Jan 25, 2018
811741b
* elf.c (elf_open_debugfile_by_debuglink): Don't check CRC if the
ianlancetaylor Jan 25, 2018
1779403
* elf.c (elf_add): Close descriptor if we use a debugfile.
ianlancetaylor Jan 31, 2018
012b950
Copy changes from GCC:
ianlancetaylor Apr 17, 2018
1b8128c
* backtrace.c: Revert last change. Don't call mmap
ianlancetaylor Apr 17, 2018
22508c4
config.guess, config.sub: update to current GCC versions
ianlancetaylor Jun 5, 2018
5a99ff7
config.guess, config.sub: update to latest versions
ianlancetaylor Jun 5, 2018
559ab7c
libbacktrace: update to current version from GCC trunk
ianlancetaylor Dec 24, 2019
0f06cda
libbacktrace: support fetching executable name using sysctl
ianlancetaylor Feb 15, 2020
aced4e1
libbacktrace: if debug info large or split, read sections individually
ianlancetaylor Feb 16, 2020
4e14a00
libbacktrace: support short read
ianlancetaylor Feb 16, 2020
75cac30
libbacktrace: update to current libgo test file
ianlancetaylor Feb 16, 2020
bd02146
Update copyright years.
ianlancetaylor Feb 19, 2020
929d620
libbacktrace: always pass -g when compiling test code
ianlancetaylor Feb 19, 2020
4e548e7
libbacktrace: add preliminary Mach-O support
ianlancetaylor Feb 19, 2020
ca0de05
libbacktrace: don't free ELF strtab if error occurs after saving syminfo
ianlancetaylor Feb 19, 2020
7206f5b
libbacktrace: don't crash if ELF file has no sections
ianlancetaylor May 10, 2020
14465a9
libbacktrace: declare getpagesize if necessary
ianlancetaylor May 11, 2020
d68a7ac
libbacktrace: treat EACCESS like ENOENT
ianlancetaylor May 13, 2020
9b7f216
libbacktrace: mark test_large parameter unused in ztest.c
ianlancetaylor May 13, 2020
aaa51b6
libbacktrace: test linker support for DWARF 5
ianlancetaylor Jul 8, 2020
89b2b50
libbacktrace: add Mach-O 64-bit FAT support
ianlancetaylor Aug 24, 2020
886aef3
libbacktrace: only match magic number at start of line
ianlancetaylor Sep 8, 2020
b3b57f9
libbacktrace: correctly swap Mach-O 32-bit file offset
ianlancetaylor Sep 8, 2020
030bd0a
libbacktrace: correct memory lengths in Mach-O dsym support
ianlancetaylor Sep 8, 2020
5dec0fa
libbacktrace: fix tipo in comment
ianlancetaylor Sep 8, 2020
430dc8b
libbacktrace: avoid ambiguous binary search
ianlancetaylor Sep 9, 2020
4ae8d98
libbacktrace: fetch executable path on macOS
ianlancetaylor Sep 9, 2020
2f5efbf
libbacktrace: don't strip leading underscore on 64-bit PE
ianlancetaylor Sep 9, 2020
77bcaa9
libbacktrace: support MiniDebugInfo
ianlancetaylor Sep 14, 2020
753968c
libbacktrace, Mach-O : Support PowerPC archs.
iains Sep 16, 2020
c8a81d4
libbacktrace: use ELF symbol table if no debug info available
ianlancetaylor Sep 17, 2020
95e8e96
libbacktrace: handle pc == low correctly
ianlancetaylor Sep 23, 2020
1286f69
libbacktrace: only run dsymutil with Mach-O
ianlancetaylor Sep 28, 2020
3bd25ab
libbacktrace/ChangeLog:
ianlancetaylor Sep 28, 2020
5009c11
libbacktrace: replace Tom Sawyer with Opticks
ianlancetaylor Oct 1, 2020
73eb180
libbacktrace: use __attribute__((__fallthrough__))
ianlancetaylor Oct 20, 2020
f24e9f4
libbacktrace: update README
ianlancetaylor Oct 26, 2020
1da441c
libbacktrace: correct buffer overflow tests
ianlancetaylor Dec 2, 2020
5496ee0
Update copyright years.
jakubjelinek Jan 4, 2021
0966504
libbacktrace: use correct directory/filename for DWARF 5
ianlancetaylor Jan 18, 2021
dedbe13
libbacktrace: don't fail tests if dwz fails
ianlancetaylor Jan 18, 2021
7854b0b
libbacktrace: check for objcopy --add-gnu-debuglink using --help
ianlancetaylor Feb 12, 2021
59473f7
libbacktrace: pass -1 to error callback for unrecognized DWARF
ianlancetaylor Mar 2, 2021
4f57c99
libbacktrace: don't special case file 0
ianlancetaylor Mar 3, 2021
d0f5e95
config/override.m4: don't require exactly autoconf 2.69
ianlancetaylor May 29, 2021
332522e
configury: update to recent versions
ianlancetaylor Jan 19, 2022
c062afc
configury: support --disable-werror
ianlancetaylor Feb 16, 2022
509f74a
libbacktrace: initialize DWARF 5 fields of unit
ianlancetaylor Feb 16, 2022
2446c66
libbacktrace: gather address ranges from skeleton units
ianlancetaylor Feb 17, 2022
4d2dd0b
libbacktrace: don't skip initial aligned byte in uncompressed block
ianlancetaylor Apr 5, 2022
b6ddb3a
libbacktrace: replace fgrep with grep in configure script
ianlancetaylor Jun 27, 2022
bc78542
libbacktrace: don't let "make clean" remove allocfail.sh
ianlancetaylor Jul 7, 2022
7409767
libbacktrace: don't exit Mach-O dyld library loop on one failure
ianlancetaylor Jul 7, 2022
8602fda
libbacktrace: check for sys/link.h
ianlancetaylor Jul 8, 2022
e5a1699
Fix a use of undefined memory in pecoff.c
alexcrichton Jul 25, 2017
817ac63
Fix a use of uninitialized bytes in pecoff.c
alexcrichton Jul 25, 2017
d811bc0
Use the native Windows way to determine the stacktrace
dscho Nov 18, 2017
e6ce18f
Provide a Windows-specific getexecname()
dscho Nov 18, 2017
2461a33
Add compat/libbacktrace/
dscho Nov 18, 2017
093ca1f
libbacktrace: avoid void * pointer arithmetic
dscho Nov 18, 2017
37ad56f
libbacktrace: generate config.h and backtrace-supported.h
dscho Nov 18, 2017
c6b70b1
Use libbacktrace to debug file locking issues
dscho Nov 18, 2017
d8c57ee
libbacktrace: avoid decl-after-stmt
dscho Jul 18, 2022
f10ac62
WIP: try to use regular libbacktrace API
dscho Jul 18, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1246,6 +1246,7 @@ BUILTIN_OBJS += builtin/write-tree.o
# upstream unnecessarily (making merging in future changes easier).
THIRD_PARTY_SOURCES += compat/inet_ntop.c
THIRD_PARTY_SOURCES += compat/inet_pton.c
THIRD_PARTY_SOURCES += compat/libbacktrace/%
THIRD_PARTY_SOURCES += compat/nedmalloc/%
THIRD_PARTY_SOURCES += compat/obstack.%
THIRD_PARTY_SOURCES += compat/poll/%
Expand Down Expand Up @@ -1618,6 +1619,15 @@ ifdef OPEN_RETURNS_EINTR
COMPAT_CFLAGS += -DOPEN_RETURNS_EINTR
COMPAT_OBJS += compat/open.o
endif
ifneq (,$(DEBUG_FILE_LOCKS))
BACKTRACE_SOURCES := $(patsubst %,compat/libbacktrace/%,atomic.c \
alloc.c backtrace.c dwarf.c state.c fileline.c posix.c \
pecoff.c sort.c read.c)
BACKTRACE_OBJS := $(patsubst %.c,%.o,$(BACKTRACE_SOURCES))
COMPAT_OBJS += $(BACKTRACE_OBJS)
$(BACKTRACE_OBJS): EXTRA_CPPFLAGS = -I compat/libbacktrace
COMPAT_CFLAGS += -DDEBUG_FILE_LOCKS
endif
ifdef NO_SYMLINK_HEAD
BASIC_CFLAGS += -DNO_SYMLINK_HEAD
endif
Expand Down
5 changes: 5 additions & 0 deletions compat/libbacktrace/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*~
*.o
*.lo
*.a
*.la
Loading