Sciweavers

ASPLOS
2015
ACM

Architectural Support for Dynamic Linking

8 years 7 months ago
Architectural Support for Dynamic Linking
All software in use today relies on libraries, including standard libraries (e.g., C, C++) and application-specific libraries (e.g., libxml, libpng). Most libraries are loaded in memory and dynamically linked when programs are launched, resolving symbol addresses across the applications and libraries. Dynamic linking has many benefits: It allows code to be reused between applications, conserves memory (because only one copy of a library is kept in memory for all the applications that share it), and allows libraries to be patched and updated without modifying programs, among numerous other benefits. However, these benefits come at the cost of performance. For every call made to a function in a dynamically linked library, a trampoline is used to read the function address from a lookup table and branch to the function, incurring memory load and branch operations. Static linking avoids this performance penalty, but loses all the benefits of dynamic linking. Given its myriad benefits, dyna...
Varun Agrawal, Abhiroop Dabral, Tapti Palit, Yongm
Added 16 Apr 2016
Updated 16 Apr 2016
Type Journal
Year 2015
Where ASPLOS
Authors Varun Agrawal, Abhiroop Dabral, Tapti Palit, Yongming Shen, Michael Ferdman
Comments (0)