Skip to content

Commit caae083

Browse files
authored
bumps up the version and updates the change log (#1536)
1 parent baa9022 commit caae083

File tree

4 files changed

+153
-7
lines changed

4 files changed

+153
-7
lines changed

CHANGES.md

+146
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,149 @@
1+
2.5.0
2+
=====
3+
4+
### Features
5+
- #1390 adds the flattening pass to the library interface
6+
- #1389 adds `insn-code` to the `Theory.Semantics` clas
7+
- #1394 adds the `Bitvec.modular` function
8+
- #1395 adds LLVM 13/14 compatibility
9+
- #1408 adds support for mips64el target
10+
- #1409 adds the `--print-missing` option to print unlifed instructions
11+
- #1410 adds several new Primus Lisp primitives and new instructions
12+
- #1428 adds the monad choice interface to the knowledge base
13+
- #1429 refines the `Theory.Target.matches` and adds the `matching` function
14+
- #1434 adds arm unpredicated BL instruction
15+
- #1444 adds the x86/amd64 plt corrector component to the Primus base system
16+
- #1445 updates the `Sub.compute_liveness` function to handle SSA form
17+
- #1446 provides the new liveness analysis
18+
- #1452 implements pcode floating-point and special operators
19+
- #1457 adds optional `join` for `Knowledge.Domain.mapping`
20+
- #1461 enables v8.{1,2,3,4,5,6}a revisions for the aarch64 target
21+
- #1464 adds arbitrary-precision loopless clz and popcount to Primus Lisp
22+
- #1460 adds compatibility with Core_kernel >= 0.15
23+
- #1466 adds semantics for the x86 SSE floating-point instructions
24+
- #1469 adds the jump destination addresses/names to the assembly output
25+
- #1458 adds more aarch64 instructions
26+
- #1473 adds an `--arm-features` command-line option
27+
- #1476 implements the naming scheme for interrupts
28+
- #1479 reifies external subroutines and intrinsics into I
29+
- #1482 enables BIR subroutines without an explicit return
30+
- #1481 enables disabling the patterns plugin
31+
- #1483 implements floating-point intrinsic subroutines
32+
- #1488 adds compatibility with OCaml 4.14 and Core v0.15
33+
- #1489 adds some missing functionality to Primus Lisp POSIX
34+
- #1490 adds some missing C POSIX APIs
35+
- #1492 makes bit-twiddling operations easier to read and analyze
36+
- #1493 adds smart constructors and destructors to the C types library
37+
- #1491 adds semantics for the x86-64 `popq` instruction
38+
- #1497 extends the C.Abi library
39+
- #1498 adds the extended lvalue assignment to Primus Interpreter
40+
- #1499 makes BIL smart constructors smart
41+
- #1500 makes argument passing well-typed
42+
- #1503 reimplements C types printing functions
43+
- #1504 extends the demanglers library to the new targets infrastructure
44+
- #1505 rewrites x86 abi using the new infrastructure
45+
- #1511 implements some missing Thumb instructions
46+
- #1513 implements the x86_64 padd instructions
47+
- #1515 allows target overriding
48+
- #1516 adds armv8 BFM instructions
49+
- #1517 publishes Theory.Target.nicknames and extends Primus Contexts
50+
- #1519 extends Core Theory with target registration and lookup
51+
- #1520 adds the high-level calling convention specification language
52+
- #1521 reimplements x86 targets using the new infrastructure
53+
- #1522 reimplements ARM ABI and target specification
54+
- #1523 rewrites mips targets and abi
55+
- #1524 adds C data type layout
56+
- #1525 adds the pass by reference argument passing method
57+
- #1526 restructures powerpc targets and reimplements ppc32 eabi
58+
- #1529 makes the ABI processors usable programmatically
59+
60+
### Bug Fixes
61+
- #1391 fixes ARM/Thumb `movt` semantics
62+
- #1396 fixes the path plugin loader path handling
63+
- #1414 fixes the pc value in pc-relative thumb ldr
64+
- #1420 fixes the low-level Disasm_expert.Basic.create function
65+
- #1421 fixes the core-theory plugin semantics tags
66+
- #1426 fixes arm predication
67+
- #1438 reads correctly unqualified system names
68+
- #1439 fixes a bug in the KB update function, adds new functions
69+
- #1448 fixes an accidental dependency on the bap-traces internal module
70+
- #1449 fixes unconditional pop with return in thumb
71+
- #1455 fixes register assignments in p-code semantics
72+
- #1462 fixes the `cast-signed` Primus Lisp primitive
73+
- #1463 fixes the arithmetic modulus in Primus Lisp primitives
74+
- #1465 fixes handling of `jmp term`s in the flatten pass
75+
- #1467 fixes a sporadic internal error in the cache garbage collector
76+
- #1468 fixes the relocation symbolizer incorrect handling of intrinsics
77+
- #1458 fixes aarch64 bitmask immediate encoding
78+
- #1486 fixes type unification on binary operation application
79+
- #1485 fixes little-endian MIPS disassembling
80+
- #1494 fixes the encoding of the comparison operators
81+
- #1496 fixes registers allocation in the abi specification DSL
82+
- #1502 fixes the bitvector order function
83+
- #1528 fixes armv4t name that was missing the arm prefix
84+
85+
86+
### Tooling
87+
- #1393 improves the Primus Lisp documentation generator
88+
- #1397 fixes the macOS CI build
89+
- #1399 updates the url of the testing repo to use the encrypted version
90+
- #1432 updates the docker image
91+
- #1435 selects specific llvm components for linking
92+
- #1447 updates to the git+https in the dockerfiles
93+
- #1470 corrects linking of Unix library in configure
94+
- #1478 fixes the opam/opam dev-repo protocol which broke the release action
95+
- #1480 adds an automation to build a docker image for the latest release
96+
- #1514 adds the mmap dependency
97+
98+
99+
### Improvements
100+
- #1386 adds missing ARM target ABI information
101+
- #1388 adds aliasing information for x86
102+
- #1392 adds an option to directly use ogre files as a loader
103+
- #1398 provides the assembly string as a promise (removes #undefined)
104+
- #1400 improves the computation of the instruction properties
105+
- #1401 improves the KB.Value merge operation
106+
- #1402 moves promises and theories into the core-theory plugin
107+
- #1403 moves knowledge base rules from the library to the plugin
108+
- #1404 improves the peformance of the byte patterns matcher (1/3)
109+
- #1405 improves the performance of bitvectors (2/3)
110+
- #1411 [optimization] do not store empty objects in the knowledge base
111+
- #1412 updates the KB version number and adds a few more microoptimizations
112+
- #1413 updates bap to latest OCaml, switches to newer bitstrings
113+
- #1415 switches to patricia trees in the KB implementation
114+
- #1416 Reimplements x86 bitscan and popcnt
115+
- #1418 uses the builtin clz function from base, instead of the custom one
116+
- #1417 relaxes the speculative disassembler constraints
117+
- #1419 allows bapbuild to work when bap and other defaults are not present
118+
- #1422 relaxes interpreters to allow ill-typed operations
119+
- #1425 applies ARM modified immediate (MIC) decoding in more places
120+
- #1423 reimplements clz using the branchless/loopless algorithm
121+
- #1427 removes unnecessary units from the knowledge base
122+
- #1430 refines and extends target definitions
123+
- #1431 partially upgrades byteweight to work with the modern bap
124+
- #1441 uses Allen's Interval Algebra in the KB.Value merge implementation
125+
- #1442 wraps proposals into with_empty and adds more guards
126+
- #1443 adds subinstruction contraction to improve the ghidra lifter output
127+
- #1433 adds mode events to traces
128+
- #1450 hushes bil lifters
129+
- #1451 removes falls-through from unconditional branches in IR reification
130+
- #1454 improves the setw function used
131+
- #1456 removes Thumb2 branches from the legacy ARM lifter
132+
- #1471 uses function starts as the entires when building the symtab
133+
- #1472 improves disassembler performance
134+
- #1475 unifies name generation for IR subroutines
135+
- #1477 removes the special Primus Lisp primitive
136+
- #1484 disables byteweight
137+
- #1487 reduces memory footprint
138+
- #1501 makes all C data type sizes a multitude of their alignment
139+
- #1506 optimizes encoding computation for x86
140+
- #1510 adds an example on how to create a monad transformer stack (#1354)
141+
- #1518 uses signed casts for promoting arguments
142+
- #1530 turns x86 endbr instructions into nops
143+
- #1531 adds patterns to recognize certain x86 endbr as function starts
144+
- #1532 improves the main subroutine discovery within glibc runtime
145+
- #1535 prevents knowledge conflicts on mangled names
146+
1147
2.4.0
2148
=====
3149

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/BinaryAnalysisPlatform/bap/blob/master/LICENSE)
33
[![Join the chat at https://gitter.im/BinaryAnalysisPlatform/bap](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/BinaryAnalysisPlatform/bap?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
44
[![docs](https://img.shields.io/badge/doc-master-green.svg)][docs]
5-
[![docs](https://img.shields.io/badge/doc-2.4.0-green.svg)][docs]
5+
[![docs](https://img.shields.io/badge/doc-2.5.0-green.svg)][docs]
66

77
## Table of contents
88
* [Overview](#overview)
@@ -28,8 +28,8 @@ BAP is developed in [CMU, Cylab](https://www.cylab.cmu.edu/) and is sponsored by
2828
We provide binary packages packed for Debian and Red Hat derivatives. For other distributions we provide tgz archives. To install bap on a Debian derivative:
2929

3030
```bash
31-
wget https://github.com/BinaryAnalysisPlatform/bap/releases/download/v2.4.0/{bap,libbap,libbap-dev}_2.4.0.deb
32-
sudo dpkg -i {bap,libbap,libbap-dev}_2.4.0.deb
31+
wget https://github.com/BinaryAnalysisPlatform/bap/releases/download/v2.5.0/{bap,libbap,libbap-dev}_2.5.0.deb
32+
sudo dpkg -i {bap,libbap,libbap-dev}_2.5.0.deb
3333
```
3434

3535
### From sources

oasis/common

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
OASISFormat: 0.4
22
Name: bap
3-
Version: 2.5.0-alpha
3+
Version: 2.5.0
44
OCamlVersion: >= 4.08.0
55
Synopsis: BAP Core Library
66
Authors: BAP Team
77
Maintainers: Ivan Gotovchits <[email protected]>
88
License: MIT
9-
Copyrights: (C) 2014-2021 Carnegie Mellon University
9+
Copyrights: (C) 2014-2022 Carnegie Mellon University
1010
Plugins: META (0.4)
1111
AlphaFeatures: ocamlbuild_more_args, compiled_setup_ml
1212
BuildTools: ocamlbuild

oasis/common.omake

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
OASISFormat: 0.4
22
Name: bap
3-
Version: 2.5.0-alpha
3+
Version: 2.5.0
44
OCamlVersion: >= 4.08.0
55
Synopsis: BAP Core Library
66
Authors: BAP Team
77
Maintainers: Ivan Gotovchits <[email protected]>
88
License: MIT
9-
Copyrights: (C) 2014-2021 Carnegie Mellon University
9+
Copyrights: (C) 2014-2022 Carnegie Mellon University
1010
Plugins: META (0.4)
1111
AlphaFeatures: compiled_setup_ml
1212
BuildTools+: omake

0 commit comments

Comments
 (0)