diff options
author | Suresh Srinivas <suresh.srinivas@intel.com> | 2018-10-29 16:47:27 -0700 |
---|---|---|
committer | Refael Ackermann <refack@gmail.com> | 2018-10-31 18:43:53 -0400 |
commit | d32b5bd567544f5b73d186803885592bce51c870 (patch) | |
tree | 45d92a32dd0b551336e6f3368a65b8c1b19828b1 /src/large_pages | |
parent | e35f671aa796c8f755c96ea9c0b87d6565a7fe08 (diff) | |
download | android-node-v8-d32b5bd567544f5b73d186803885592bce51c870.tar.gz android-node-v8-d32b5bd567544f5b73d186803885592bce51c870.tar.bz2 android-node-v8-d32b5bd567544f5b73d186803885592bce51c870.zip |
src: fix fully-static & large-pages combination
Fixes: https://github.com/nodejs/node/issues/23906
Refs: https://github.com/nodejs/node/pull/22079
This change to ld.implicit.script moves libc static code to
.lpstub area and avoids the issue detailed in 23906
Quick performance comparision on web-tooling shows 3%
improvement for the combination over fully-static
cycles 376,235,487,455 390,007,877,315
instructions 700,341,146,973 714,773,201,182
itlb_misses_walk_completed 20,654,246 28,908,381
itlb_misses_walk_completed_4k 19,884,666 28,865,118
itlb_misses_walk_completed_2m_4m 769,391 43,251
Score 9.13 8.86
PR-URL: https://github.com/nodejs/node/pull/23964
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'src/large_pages')
-rw-r--r-- | src/large_pages/ld.implicit.script | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/large_pages/ld.implicit.script b/src/large_pages/ld.implicit.script index ad7ce1b2e2..7f12e4bd7d 100644 --- a/src/large_pages/ld.implicit.script +++ b/src/large_pages/ld.implicit.script @@ -1,8 +1,10 @@ SECTIONS { - .lpstub : { *(.lpstub) } + .lpstub : { + *libc.a:*(.text .text.*) + *(.lpstub) + } } PROVIDE (__nodetext = .); PROVIDE (_nodetext = .); PROVIDE (nodetext = .); INSERT BEFORE .text; - |