Comments (2)
I've been looking into this, there are a couple of relatively easy targets (eg. MachO and COFF writers which are irrelevant because keystone only uses a patched up version of the ELF writer which in turn makes all code dealing with the ObjectFormat part of Triple redundant).
There are also some harder targets such as debug info generation (DWARF/CodeView output and code dealing with call frame information and exception handling code) that's pretty much weaved into the rest of the code. Removing those would mean quite a few directives stop working which never made sense in the context of keystone in the first place (things like .loc).
Having all that out of the way opens paths for further code reduction such as the file handling (unless you want to maintain compatibility with the .include directive), getting rid of ELF section management (since keystone only cares about .text anyway.
I started doing some of this work in a branch: https://github.com/iksteen/keystone-beta/commits/clean-unused maybe you could have a look at it?
from keystone.
i think your "easy targets" can be considered first. could you make a PR?
from keystone.
Related Issues (20)
- python : mov reg,qword ptr [XXX] error
- AArch64 floating point not right HOT 1
- 仅仅是使用官方的例子,都无法正常运行 HOT 3
- How to use as a cmake subdirectory
- 80386 call in 8086 mode
- Need support LongArch
- Can't install python bindings. /llvm/lib64/libkeystone.so not found
- Unmaintained? HOT 3
- support hex to asm ? HOT 1
- Keystone Not Assembling Powerpc HOT 1
- Keystone automatically converting immediates for relative instructions as if they were absolute? HOT 1
- MIPS- Branch absolute target restricted to 16 bits
- under ATT style, it treats decimal numbers as hexadecimal numbers. that is very painful.
- under intel style, Invalid operand (KS_ERR_ASM_INVALIDOPERAND) when same Label is accessed second time.
- that is a problem, there is hard coding to force Radix to 16 when calling ks_option. and there is not export api to set the radix
- Inline comments inside assembly code string | python HOT 1
- keystone can not recognize the symbol with '@' which contained by __stdcall or msvcp functions
- keystone is bad supporting X86 when resolving PCRel. HOT 1
- `leal (%eax,%eax), %edx` invalid operand. failure parsing operand ` (%eax,%eax)`, bad supporting to index addressing HOT 4
- Incorrect Assembly
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from keystone.