PoroCYon
51db8f8714
reorganize everything in a single invocation (take 2)
2020-07-11 22:30:33 +00:00
PoroCYon
09acda915d
fix smoldd.py failing when LD_LIBRARY_PATH isn't defined in the environment
2020-07-11 22:28:20 +00:00
PoroCYon
5a42351a0e
fix makefile for gcc 10
2020-07-11 22:28:20 +00:00
PoroCYon
7e384a44a6
fix smoldd
2020-07-11 22:28:20 +00:00
PoroCYon
5c38b05c85
update CFLAGS etc a bit
2020-07-11 22:28:20 +00:00
PoroCYon
4389c2e0a1
add more detailed exported symbols, useful for compressed code size listings
2020-07-11 22:28:20 +00:00
PoroCYon
e0bde71bd2
show a warning if a required binary isn't found, should 'fix' #2
2020-07-11 22:28:20 +00:00
PoroCYon
48fa48e797
fix 32-bit not working
2019-08-12 22:58:11 +00:00
PoroCYon
788135c670
add fix for gcc 9.1 in the makefile, don't accept LTO input files
2019-08-12 19:18:44 +00:00
PoroCYon
2f535befa2
... actually make it deterministic
2019-08-12 19:18:44 +00:00
PoroCYon
9f03bcf3a6
add --det flag for deterministic order of imports
2019-08-12 19:18:44 +00:00
PoroCYon
4929ec18ed
Update README.md
2019-07-27 16:55:23 +00:00
PoroCYon
5dd269d05f
fix SIGBUS crashes when accessing bss data from a large .bss segment
2019-05-20 03:04:33 +02:00
PoroCYon
9ec2133545
add dependencies docs
2019-05-18 12:46:58 +00:00
PoroCYon
429ba14e8c
I'm an idiot
2019-05-18 12:46:58 +00:00
PoroCYon
a2e2e8f503
try to fix gcc printing localized search dir keys
2019-05-18 12:46:58 +00:00
PoroCYon
987bbab3e4
add support for relocation type 'R_X86_64_GOTPCREL'
2019-05-17 15:36:41 +00:00
PoroCYon
4b4d8107a8
add support for R_X86_64_REX_GOTPCRELX reloc (thanks Shiz)
2019-05-17 15:36:41 +00:00
PoroCYon
be3942ed6d
fix dnload version
2019-04-29 23:46:13 +00:00
PoroCYon
3eea42e29c
32-bit version working (not yet the dnload version)
2019-04-29 23:46:13 +00:00
PoroCYon
8c7ce9c930
fix importing weak symbols
2019-04-29 23:46:13 +00:00
PoroCYon
8a4b7ce4ec
src->rt; smol*.py -> src; add optional 16-bit hash version
2019-04-29 23:46:13 +00:00
PoroCYon
c75be623eb
32-bit version using dnload loader now working
2019-04-29 23:46:13 +00:00
PoroCYon
d9dbaae27a
fixes. dnload mode should now be usableish
2019-03-14 14:40:33 +00:00
PoroCYon
26d96fc2c1
get rid of a few more bytes
2019-03-14 14:40:33 +00:00
PoroCYon
5e19c2746e
add dnload import method to 64-bit version (unoptimized atm)
2019-03-14 14:40:33 +00:00
PoroCYon
aed33c73a9
make things smaller again
2019-03-14 14:40:33 +00:00
PoroCYon
434630e6cc
fix -fno-plt failing
2019-03-14 14:40:33 +00:00
PoroCYon
1e55344436
fix crash when a hash's LSbyte is 0
2019-03-06 12:01:42 +00:00
PoroCYon
237ba99104
more size crunching, but not completely perfect
2019-03-06 12:01:42 +00:00
PoroCYon
296556080d
more optimizations (64-bit only for now)
2019-03-06 12:01:42 +00:00
PoroCYon
6e2aa414a3
more optimizations (64-bit only for now)
2019-03-06 12:01:42 +00:00
PoroCYon
518a15d2af
make the linker survive -ffunction-sections -fdata-sections -Wl,--gc-sections
2019-02-27 23:23:10 +00:00
PoroCYon
0993ec8dcb
use repne scas[dq] for searching for l_entry
2019-02-27 23:23:10 +00:00
PoroCYon
a6c4c6f2dd
... and fix the Makefile to work again with code that uses main() instead of _start()
2019-02-27 23:23:10 +00:00
PoroCYon
d903ef2d50
use pkg-config in makefile (thanks unlord)
2019-02-27 23:23:10 +00:00
PoroCYon
a73dfb9789
fix stupid 32-bit compilation failure
2019-02-27 23:23:10 +00:00
PoroCYon
5b262ffca0
docs on smoldd
2019-02-27 23:23:10 +00:00
PoroCYon
f317bc18db
USE_DT_DEBUG, SKIP_ENTRIES options
2019-02-27 23:23:10 +00:00
PoroCYon
9d117fe66f
use better defaults for lib search paths
2019-02-27 23:23:10 +00:00
PoroCYon
d9a5eac2e6
add support for more than one relocation type on x86_64, make stack alignment optional
2019-02-27 23:23:10 +00:00
PoroCYon
560ce8c0f2
add smoldd
2019-02-27 23:23:10 +00:00
PoroCYon
b08e23a16c
add LICENSE
2019-02-27 23:23:10 +00:00
PoroCYon
75c1cfe603
add docs etc
2019-02-27 23:23:10 +00:00
PoroCYon
38ea8e9531
64-bit version.
2019-02-27 23:23:10 +00:00
PoroCYon
cccd9656de
lots of stuff, see detailed desc.
...
* reorganize the project structure a bit (sorry not sorry :P)
* src/ -> test/
* ldr/ -> src/, ld/
* mksyms -> smol.py (and smol*.py)
* clean up and make the python script a bit less hacky
* optimize the loader code (there can still be done more, though)
* preserve the stack so argc, argv and envp can be read
* more stuff
2019-02-27 23:23:10 +00:00
PoroCYon
f6b9a927a6
use _start, but don't call it ;)
2019-02-27 23:23:10 +00:00
PoroCYon
56357dc04b
add optional PT_INTERP stuff
2019-02-27 23:23:10 +00:00
PoroCYon
378714f449
make the loader compatible with at least more than one glibc version
2019-02-27 23:23:10 +00:00
PoroCYon
9f57498eea
fix smol wrt new glibc version, make mksyms much faster
2019-02-27 23:23:10 +00:00