Skip to main content

Flexible Endian Adjustment for Cross Architecture Binary Translation

  • Conference paper
  • 1973 Accesses

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 143))

Abstract

Different architectures and/or ISA (Instruction Set Architecture) representations hold different data arranging formats in the memory. Therefore, the adjustment of byte packing order (endianness) is indispensable in cross- architecture binary translation if the source and target machines are of heterogeneous endianness, which may otherwise cause system failure. The issue is inconspicuous but may lead to significant performance bottleneck. This paper investigates the key aspects of endianness and finds several solutions to endian adjustment for cross-architecture binary translation. In particular, it considers the two principal methods of this field — byte swapping and address swizzling, and gives a comparison of them in our DBT (Dynamic Binary Translator) — CrossBit.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Baraz, L., Devor, T., Etzion, O., Goldenberg, S., Skaletsky, A., Wang, Y., Zemach, Y.: IA-32 Execution Layer: a two-phase dynamic translator designed to support IA-32 applications on Itanium-based systems. In: IEEE MICRO, pp. 191–204 (2003)

    Google Scholar 

  2. Adams, K., Agesen, O.: A comparison of software and hardware techniques for x86 virtualization. In: Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp. 2–13 (2006)

    Google Scholar 

  3. Klaiber, A.C.: The Technology Behind Crusoe Processors, Transmeta Technical Brief (2000)

    Google Scholar 

  4. Bala, V., Duesterwald, E., Banerjia, S.: Dynamo: A transparent dynamic optimization system. In: Proceedings of International Conference on Programming Language Design and Implementation (PLDI), pp. 1–12 (2000)

    Google Scholar 

  5. Borin, E., Wang, C., Wu, Y., Araujo, G.: Software-Based Transparent and Comprehensive Control-Flow Error Detection. In: Proceedings of International Conference on Code Generation and Optimization (CGO), pp. 333–345 (2006)

    Google Scholar 

  6. Coronato, A., Pietro, G.D., Gallo, L.: An agent based platform for taskdistribution in virtual environments. Journal of Systems Architecture Embedded Systems Design (JSA) 54(9), 877–882 (2008)

    Google Scholar 

  7. Luk, C.K., Cohn, R.S., Muth, R., Patil, H., Klauser, A., Lowney, P.G., Wallace, S., Reddi, V.J., Hazelwood, K.M.: Pin: Building customized program analysis tools with dynamic instrumentation. In: Proceedings of International Conference on Programming Language Design and Implementation (PLDI), pp. 190–200 (2005)

    Google Scholar 

  8. Qin, F., Wang, C., Li, Z., Kim, H., Zhou, Y., Wu, Y.: LIFT: A Low Overhead Practical Information Flow Tracking System for Detecting Security Attacks. In: Proceedings of International Symposium on Microarchitecture (MICRO), pp. 135–148 (2006)

    Google Scholar 

  9. Wu, Q., Martonosi, M., Clark, D.W., Reddi, V.J., Connors, D., Wu, Y., Lee, J., Brooks, D.: A Dynamic Compilation Framework for Controlling Microprocessor Energy and Performance. In: Proceedings of International Symposium on Microarchitecture (MICRO), pp. 271–282 (2005)

    Google Scholar 

  10. Youseff, L., Butrico, M., Da Silva, D.: Toward a Unified Ontology of Cloud Computing. In: GCE 2008, Grid Computing Environments Workshop (2008)

    Google Scholar 

  11. Ung, D., Cifuentes, C.: Machine-adaptable dynamic binary translation. In: Proceedings of the ACM Sigplan Workshop on Dynamic and Adaptive Compilation and Optimization, January 18. ACM Sigpaln Notices, vol. 35(7), pp. 41–51. ACM Press, New York (2000)

    Chapter  Google Scholar 

  12. Bellard, F.: QEMU, a Fast and Portable Dynamic Translator. Proceedings of the USENIX Annual. Technical Conference, Anaheim, CA, USA, April 10-15 (2005)

    Google Scholar 

  13. Bao, Y., Guan, H., Li, J., Liang, A.: Mobilizing Native machine Code via Dynamic Binary Translation. In: Proceedings of the 3rd International Workshop on Software Development Methodologies for Distributed Systems, Shanghai China, pp. 73–78 (2006)

    Google Scholar 

  14. Ung, D., Cifuentes, C.: Dynamic binary translation using run-time feedbacks. Science of Computer Programming 60(2), 189–204 (2006)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zhu, T., Liu, B., Guan, H., Liang, A. (2011). Flexible Endian Adjustment for Cross Architecture Binary Translation. In: Shen, G., Huang, X. (eds) Advanced Research on Electronic Commerce, Web Application, and Communication. ECWAC 2011. Communications in Computer and Information Science, vol 143. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-20367-1_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-20367-1_25

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-20366-4

  • Online ISBN: 978-3-642-20367-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics