Safe and Flexible Dynamic Linking of Native Code

  • Michael Hicks
  • Stephanie Weirich
  • Karl Crary
Conference paper

DOI: 10.1007/3-540-45332-6_6

Part of the Lecture Notes in Computer Science book series (LNCS, volume 2071)
Cite this paper as:
Hicks M., Weirich S., Crary K. (2001) Safe and Flexible Dynamic Linking of Native Code. In: Harper R. (eds) Types in Compilation. TIC 2000. Lecture Notes in Computer Science, vol 2071. Springer, Berlin, Heidelberg

Abstract

We present the design and implementation of the first complete framework for flexible and safe dynamic linking of native code. Our approach extends Typed Assembly Language with a primitive for loading and typechecking code, which is flexible enough to support a variety of linking strategies, but simple enough that it does not significantly expand the trusted computing base. Using this primitive, along with the ability to compute with types, we show that we can program many existing dynamic linking approaches. As a concrete demonstration, we have used our framework to implement dynamic linking for a type-safe dialect of C, closely modeled after the standard linking facility for Unix C programs. Aside from the unavoidable cost of verification, our implementation performs comparably with the standard, untyped approach.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Michael Hicks
    • 1
  • Stephanie Weirich
    • 2
  • Karl Crary
    • 3
  1. 1.University of PennsylvaniaPhiladelphiaUSA
  2. 2.Cornell UniversityIthacaUSA
  3. 3.Carnegie Mellon UniversityPittsburghUSA

Personalised recommendations