mirror of
https://github.com/rui314/mold.git
synced 2024-07-14 16:20:34 +03:00
Compare commits
4 Commits
c9e0612d9c
...
30c4b82b46
Author | SHA1 | Date | |
---|---|---|---|
|
30c4b82b46 | ||
|
b145377c39 | ||
|
08f2a74be7 | ||
|
5bf1955fa9 |
@ -163,7 +163,7 @@ tool.
|
||||
(i.e. `_start`) or a few other root sections. In mold, we are using
|
||||
multiple threads to mark sections concurrently.
|
||||
|
||||
- Similarly, BFD, gold an lld support Identical Comdat Folding (ICF)
|
||||
- Similarly, BFD, gold and lld support Identical Comdat Folding (ICF)
|
||||
as yet another size optimization. ICF merges two or more read-only
|
||||
sections that happen to have the same contents and relocations.
|
||||
To do that, we have to find isomorphic subgraphs from larger graphs.
|
||||
|
@ -65,6 +65,8 @@ $CC -c -o $t/d.o $t/d.c -fPIC -g -ggnu-pubnames -gdwarf-5 -ffunction-sections
|
||||
|
||||
$CC -B. -shared -o $t/e.so $t/a.o $t/b.o $t/c.o $t/d.o -Wl,--gdb-index
|
||||
readelf -WS $t/e.so 2> /dev/null | grep -Fq .gdb_index
|
||||
readelf --debug=gdb_index $t/e.so 2> /dev/null | grep -q 'fn1: .* \[global, function\]'
|
||||
readelf --debug=gdb_index $t/e.so 2> /dev/null | grep -q 'char: .* \[static, type\]'
|
||||
|
||||
cat <<EOF | $CC -c -o $t/f.o -fPIC -g -ggnu-pubnames -gdwarf-5 -xc - -gz
|
||||
void fn1();
|
||||
@ -76,6 +78,7 @@ EOF
|
||||
|
||||
$CC -B. -o $t/exe $t/e.so $t/f.o -Wl,--gdb-index
|
||||
readelf -WS $t/exe 2> /dev/null | grep -Fq .gdb_index
|
||||
readelf --debug=gdb_index $t/exe 2> /dev/null | grep -q 'main: .* \[global, function\]'
|
||||
|
||||
$QEMU $t/exe | grep -q 'Hello world'
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user