#
4f4c6e66 |
| 02-Aug-2023 |
LoGin <longjin@DragonOS.org> |
增加对mmap、munmap、mprotect的支持 (#15)
|
#
261951bc |
| 05-Jan-2021 |
Jeremy Soller <jackpot51@gmail.com> |
Merge branch 'globalsyms' into 'master'
Fix global symbols relocations
See merge request redox-os/relibc!325
|
#
a7480ea6 |
| 29-Dec-2020 |
Mateusz Tabaka <tab.debugteam@gmail.com> |
Fix global symbols relocations
Instead of a single source of symbols, now linker keeps a list of DSO (former Library) objects with their own symbols map. That helps to process R_X86_64_COPY relocati
Fix global symbols relocations
Instead of a single source of symbols, now linker keeps a list of DSO (former Library) objects with their own symbols map. That helps to process R_X86_64_COPY relocations correctly. For example, if 'a.out' executable with dependencies ['libstdc++.so', 'libc.so'] is being loaded and 'a.out' uses 'stdout' symbol from 'libc.so', its relocation process goes as follows: - linker processes relocation entry 'stdout' of type R_X86_64_GLOB_DAT from 'libc.so', - it goes through object list ['a.out', 'libstdc++.so', 'libc.so'] to find first object that exports 'stdout' symbol. The symbol is in 'a.out' with the value e.g. '0x404070', - linker sets 'stdout' symbol GOT entry in 'libc.so' to '0x404070', .... - linker processes relocation entry 'stdout' of type R_X86_64_COPY from 'a.out', - it goes through object list excluding 'a.out': ['libstdc++.so', 'libc.so']. The symbol is found in 'libc.so', - linker copies the 'stdout' symbol content from 'libc.so' to memory at address '0x404070' (in 'a.out' object).
Objects are relocated in reverse order they were loaded. So in the example above, linker starts with relocating 'libc.so' and ends with 'a.out'. It is necessary e.g. when linking with 'libstdc++.so' - there are many relocations which symbols are found in 'libstdc++.so', so they need to be resolved before their contents are copied to 'a.out'. That also matches GNU ld.so behavior.
show more ...
|
#
7b6ba2c7 |
| 12-Aug-2020 |
jD91mZM2 <me@krake.one> |
Merge branch 'lD_PATH' into 'master'
L d path
See merge request redox-os/relibc!300
|
#
40328a0d |
| 12-Aug-2020 |
Ahmed Abd El Mawgood <ahmedsoliman@oddcoder.com> |
Modify ld_script so that it works on linux.
Honestly, I have no idea why are these modifications needed, but it seams they are needed
|
#
7a1e2a62 |
| 17-Mar-2019 |
Jeremy Soller <jackpot51@gmail.com> |
Merge branch 'new-toolchain' into 'master'
Support use of new cross compiler
See merge request redox-os/relibc!203
|
#
59653ee2 |
| 17-Mar-2019 |
Jeremy Soller <jeremy@system76.com> |
Support use of new cross compiler
|
#
82b9715f |
| 27-Aug-2018 |
Jeremy Soller <jeremy@system76.com> |
Fix makefile for tests, add sysroot target
|
#
e9484e4d |
| 22-Jul-2018 |
jD91mZM2 <me@krake.one> |
Ignore *all* target directories
|
#
19705ccc |
| 20-Mar-2018 |
Tom Almeida <tommoa256@gmail.com> |
Merged master into master
|
#
90aec207 |
| 19-Mar-2018 |
Tom Almeida <tommoa256@gmail.com> |
Merge branch 'master' into master
|
#
045a510c |
| 18-Mar-2018 |
Jeremy Soller <jackpot51@gmail.com> |
Merge pull request #92 from tdbgamer/feature/strtok
Implement strtok
|
#
f60fafe8 |
| 17-Mar-2018 |
Timothy Bess <tdbgamer@gmail.com> |
* create basic strtok * add test and expected output
|
#
78e421cb |
| 03-Mar-2018 |
Jeremy Soller <jackpot51@gmail.com> |
Implement some functions on Linux
|
#
457d3972 |
| 03-Mar-2018 |
Paul Sajna <paulsajna@gmail.com> |
merge with origin, put unistd back the way it was
|
#
a01ff6ba |
| 03-Mar-2018 |
Jeremy Soller <jackpot51@gmail.com> |
Add overarching staticlib
|