Gtirb-pprinter

Latest version: v2.1.0

Safety actively analyzes 624755 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

2.0.1

* `--asm` option now prints the assembly for each module of an IR separately
* `--version-script` now prints a separate version script for each module
of an IR
* `--module` option deprecated
* Binaries printed from a multi-module IR are linked against other binaries from the
same IR whenever possible
* Use `elfStackExec` and `elfStackSize` auxdata to generate appropriate linker flags.
* Requires gtirb >=1.12.1
* Set entrypoint in ELF files to `_start` symbol even if the symbol is not
`GLOBAL`. Fixes segfaults in rewritten binaries with non-global `_start`
symbols.
* Fix segfault if `elfDynamicInit` or `elfDynamicFini` auxdata do not refer
to a `CodeBlock`.
* Use function boundaries and the `functionNames` auxdata to print `PROC` and `ENDP` directives in PE binaries.
If the `functionNames` auxdata is not present, no `PROC` and `ENDP` directives will be printed.
* Use function boundaries and the `functionNames` auxdata to print `.size`
directives for `FUNC` and `GNU_IFUNC` symbols in ELF binaries associated to functions.
If the `functionNames` auxdata is not present, no `.size` directives for functions will be printed.
* Print `.size` directives for `TLS` symbols in ELF binaries.
* Deprecate the `PrettyPrinterBase` methods: `getContainerFunctionName`, `getFunctionName`, `isFunctionEntry`, and `isFunctionLastBlock`; and
the attributes: `functionEntry`, and `functionLastBlock`.

2.0.0

* Remove unnecessary --isa,-I option.
* Fix bug where a binary with COPY-relocated symbols could be missing
DT_NEEDED entries after rewriting with `--dummy-so`.
* Removed `--binaries` option
* `--binary` option now links each module of the IR into a separate binary
* Added `--object` option to print relocatable object files
* Binary printer methods now operate on modules, rather than the entire IR
* `--shared` option now takes an argument: either `yes`, `no`, or `auto` (`auto` uses aux_data `binaryType`)
* Pass `-init` and `-fini` to `ld` based on `elfDynamicInit` and `elfDynamicFini` auxdata.
* Added patterns for selecting and printing modules by names

1.9.0

* Added a Python wheel to make gtirb-pprinter pip-installable.
* Binary printer always prints against exact library versions.
* Do not remove endbr64 instructions.
* Fix timing issue when running llvm-config in the PE binary printer.
* Add explicit DS register for MASM pprinter.
* Fixup INT1 and INT3 x64 instructions.
* Update the default `--policy` behavior for dynamically linked ELF binaries from `dynamic` to `complete`.
* ARM: Do not rely on `ArchInfo` auxdata.
* ARM: Fail if a CodeBlock cannot be completely disassembled.
* Replace symbolic expression attributes with composable labels.

1.8.6

* Add fixup for rewriting `main` symbol as global.
* Support full paths in `--use-gcc` option.
* Add support for ARM pc-relative `ldr` instruction with register offset.
* Add support for ARM `trap` instructions.
* Emit symbol declarations for symbols attached to `.plt` section.
* Add support for TLSLDM relocationss
* Add detection for `--export-dynamic` in binary printer.

1.8.5

* Remove `--assembler` option; printer now always behaves correctly when
escaping characters.
* Support generating ELF symbol version information in assembly output.
* Add `--version-script` argument for generating ELF version scripts.
* Removed explicit transformations to GTIRB from PrettyPrinter. Clients
will now need to explicitly opt in to these transforms. `gtirb-pprinter`
behavior is unchanged.

1.8.4

* Fix bugs in printing shift instructions in AT&T syntax.
* Add `--use-gcc` option overriding `gcc` executable when binary printing ELF files.
* Fix printing symbols with a displacement of zero in ARM64 indirect operands.
* Expand `--help` message by listing options for `--isa`, `--syntax`, `--assembler`, and `--policy`.
* Fix bug resulting in skipped `.data` sections.
* Ubuntu 18 and gcc 7 are no longer supported.
* Default syntax in `assembler` mode changed to AT&T (i.e., `att`).

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.