Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
be85631
travis: fix spurious VM crashes
osandov Aug 4, 2020
81c30c5
Merge branch 'refs/heads/upstream-HEAD' into repo-HEAD
Aug 5, 2020
b8aa2dc
drgndoc: format None, True, and False as roles
osandov Aug 12, 2020
2345325
drgndoc: handle implicit classmethods
osandov Aug 12, 2020
09c4893
Merge branch 'refs/heads/upstream-HEAD' into repo-HEAD
Aug 13, 2020
66c5cc8
Add IntegerLike type annotation
osandov Aug 13, 2020
2d49ef6
Add Path type alias
osandov Aug 13, 2020
4a3b8fb
drgndoc: fix mypy --strict errors
osandov Aug 13, 2020
a270525
drgndoc: save all modules and classes traversed to resolve name
osandov Aug 14, 2020
192d35c
drgndoc: support relative imports
osandov Aug 15, 2020
f41cc7f
drgndoc: recursively document names imported with alias
osandov Aug 15, 2020
64a04a6
drgndoc: include attributes based on presence of docstring
osandov Aug 17, 2020
e4a2676
drgndoc: support @typing.overload()
osandov Aug 18, 2020
0cf3320
Add type annotations to helpers
osandov Aug 20, 2020
8c7c80e
Fix mypy --strict warnings
osandov Aug 20, 2020
4e770fb
Format imports with isort
osandov Aug 20, 2020
656d85f
travis: check Python code with black, isort, and mypy
osandov Aug 20, 2020
7fb196c
vmtest: don't use onoatimehack on QEMU 5.1.0
osandov Aug 21, 2020
903a44d
travis: upgrade to Ubuntu 20.04
osandov Aug 21, 2020
c2ceec4
Merge branch 'refs/heads/upstream-HEAD' into repo-HEAD
Aug 21, 2020
6f6c5f2
libdrgn: export function drgn_object_init() (#70)
arsarwade Aug 21, 2020
62d92aa
Merge branch 'refs/heads/upstream-HEAD' into repo-HEAD
Aug 22, 2020
d40526d
scripts: add Python include header path to cscope
osandov Aug 26, 2020
d0d7d6c
Merge branch 'refs/heads/upstream-HEAD' into repo-HEAD
Aug 26, 2020
93e3351
drgndoc: bring back :exclude:
osandov Aug 26, 2020
b0f9403
drgndoc: directly use name passed as argument to drgndoc directive
osandov Aug 26, 2020
a8d632b
libdrgn/python: use F14 instead of PyDict for Program::objects
osandov Aug 21, 2020
d4e0771
libdrgn: return error from drgn_program_{is_little_endian,bswap,is_64…
osandov Aug 25, 2020
1c8181e
libdrgn: rearrange struct drgn_program members
osandov Jul 14, 2020
c31208f
libdrgn: fold drgn_type_index into drgn_program
osandov Apr 22, 2020
a97f6c4
Associate types with program
osandov Jul 15, 2020
e49a87a
libdrgn: remove struct drgn_object::prog
osandov Aug 27, 2020
2fc514f
libdrgn/python: add Qualifiers.NONE and stop using Optional[Qualifiers]
osandov Aug 27, 2020
e96d9fd
libdrgn/python: don't allow None for Program.object() flags
osandov Aug 27, 2020
36068a0
Fix trailing commas for Black v20.8b1
osandov Aug 27, 2020
ff96c75
helpers: translate task_state_to_char() to Python
osandov Aug 27, 2020
5ce8001
docs: use a different example for execscript()
osandov Aug 27, 2020
d4b1711
setup.py: add 5.9 to vmtest kernels
osandov Aug 27, 2020
b0a7a7d
Merge branch 'refs/heads/upstream-HEAD' into repo-HEAD
Aug 28, 2020
85c4b36
libdrgn: dwarf_index: fix leak when parsing bad line number program h…
osandov Jun 25, 2020
2252bef
libdrgn: dwarf_index: rename TAG_FLAG_* and TAG_MASK to DIE_FLAG_*
osandov Jun 25, 2020
c8f84c5
libdrgn: dwarf_index: use size_t instead of uint64_t where appropriate
osandov Jun 25, 2020
ea9f3f3
libdrgn: dwarf_index: don't worry about tag of CU DIE
osandov Jun 25, 2020
53ba726
libdrgn: dwarf_index: handle DW_AT_declaration with DW_FORM_flag
osandov Jun 25, 2020
94e7b1f
libdrgn: dwarf_index: avoid copying CUs for one thread
osandov May 26, 2020
9ce9094
libdrgn: dwarf_index: don't copy sections into each CU
osandov Jun 30, 2020
0b4ab17
libdrgn: dwarf_index: store DIE indices as uint32_t
osandov Jun 30, 2020
5079776
libdrgn: dwarf_index: store abbrevation and file name tables in CU
osandov Jul 1, 2020
2629164
libdrgn: dwarf_index: handle DW_AT_specification DIEs with two passes
osandov Jul 6, 2020
c053c2b
libdrgn: dwarf_index: handle DW_AT_specification with DW_FORM_ref_addr
osandov Jul 7, 2020
7a85b41
libdrgn: clean up read.h helpers and avoid undefined pointer behavior
osandov Jul 7, 2020
d512964
libdrgn: add drgn_error_copy()
osandov Aug 28, 2020
66ad507
libdrgn: dwarf_index: return indexed DIE entry from drgn_dwarf_index_…
osandov Sep 2, 2020
a51abfc
libdrgn: dwarf_index: keep CUs after indexing
jgkamat Aug 20, 2020
d1beb01
libdrgn: add support for objects in C++ namespaces
jgkamat May 11, 2020
d875729
Merge branch 'refs/heads/upstream-HEAD' into repo-HEAD
Sep 3, 2020
3ac9ae3
libdrgn: rename drgn_dwarf_info_cache to drgn_debug_info
osandov Sep 12, 2020
f83bb7c
libdrgn: move debugging information tracking into drgn_debug_info
osandov Sep 16, 2020
e69d0c0
libdrgn: dwarf_index: fix use after free of pending CU
osandov Sep 16, 2020
89b5da2
libdrgn: dwarf_index: free namespaces when rolling back
osandov Sep 16, 2020
fdbe336
libdrgn: use -isystem for elfutils headers
osandov Sep 22, 2020
286c098
Clean up #includes with include-what-you-use
osandov Sep 23, 2020
d829401
vmtest: also disable onoatimehack on QEMU 5.0.1
osandov Sep 23, 2020
1af30a3
Merge branch 'refs/heads/upstream-HEAD' into repo-HEAD
Sep 24, 2020
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
24 changes: 19 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,34 @@
dist: bionic
os: linux
dist: focal

language: python
python:
- '3.8'
- '3.7'
- '3.6'
install:
# If the host is running a kernel without Linux kernel commit b4d185175bc1
# ("KVM: VMX: give unrestricted guest full control of CR3") (in v4.17), then
# stores to CR3 in the nested guest can spuriously fail and cause it to
# crash. We can work around this by disabling unrestricted guest support.
- |
if grep -q '^flags\b.*\bvmx\b' /proc/cpuinfo; then
echo "options kvm_intel unrestricted_guest=N" | sudo tee /etc/modprobe.d/kvm-cr3-workaround.conf > /dev/null
sudo modprobe -r kvm_intel
sudo modprobe kvm_intel
fi
# Upstream defaults to world-read-writeable /dev/kvm. Debian/Ubuntu override
# this; see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892945. We want
# the upstream default.
- echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /lib/udev/rules.d/99-fix-kvm.rules > /dev/null
- sudo udevadm control --reload-rules
# On systemd >= 238 we can use udevadm trigger -w and remove udevadm settle.
- sudo udevadm trigger /dev/kvm
- sudo udevadm settle
script: python setup.py test -K
- sudo udevadm trigger -w /dev/kvm
- pip install black isort mypy
script:
- black --check --diff .
- isort --check --diff .
- mypy --strict --no-warn-return-any drgn _drgn.pyi
- python setup.py test -K

addons:
apt:
Expand Down
12 changes: 8 additions & 4 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,15 @@ drgn assumes some `implementation-defined behavior
Python
^^^^^^

Python code in drgn is formatted with `black <https://github.com/psf/black>`_.
Code should be compatible with Python 3.6 and newer.
Python code in drgn should be compatible with Python 3.6 and newer.

Type hints should be provided for all public interfaces other than helpers
(including the C extension) and most private interfaces.
Python code should be formatted with `black <https://github.com/psf/black>`_
and `isort <https://github.com/timothycrosley/isort>`_::

$ isort . && black .

Type hints should be provided for all interfaces (including helpers and the C
extension).

Submitting PRs
--------------
Expand Down
Loading