DocumentCode
679790
Title
VG-MIPS: A dynamic binary instrumentation framework for multi-core MIPS processors
Author
Anwar, Zeeshan ; Sharf, Marya ; Khan, Eraj ; Mustafa, M.
Author_Institution
Nat. Univ. of Sci. & Technol. (NUST), Islamabad, Pakistan
fYear
2013
fDate
19-20 Dec. 2013
Firstpage
166
Lastpage
171
Abstract
Valgrind is a Dynamic Binary Analysis tool used for debugging and profiling purposes. It´s mostly used to analyze the memory usage of software applications. Currently it supports the ×86, AMD, ARM, PPC and S390X architectures. Recently it has been ported to MIPS/Linux. This paper describes VG-MIPS a port of Valgrind to Cavium Networks®´s Octeon Processor for intelligent networking which hosts a MIPS64 ISA. The Octeon processor has a large number of specialized MIPS instructions used for optimizing the network and security processing features of its Internet applications. This paper discusses how we added support for n32 MIPS dialect and Octeon-MIPS specific instructions. In the process we made modifications to the Valgrind codebase such as support for new system call wrapping and the ability to automatically detect the ABI dialect from the client program ELF at runtime. Our port has been contributed to the open-source Valgrind developer community and has been successfully incorporated in the code base. We have evaluated VG-MIPS on the multi-core MIPS64 processor: Octeon® and verified its profiling accuracy. We hope that our experiences and key design decisions shared in this paper will help future developers in writing DBI frameworks for new architectures.
Keywords
multiprocessing systems; program debugging; public domain software; reduced instruction set computing; security of data; ×86 architecture; ABI dialect detection; AMD architecture; ARM architecture; Cavium Networks; DBI frameworks; Internet applications; MIPS instructions; MIPS/Linux; MIPS64 ISA; Octeon processor; Octeon-MIPS specific instructions; PPC architecture; RISC architecture; S390X architecture; VG-MIPS; Valgrind codebase; client program ELF; code base; debugging purpose; dynamic binary analysis tool; dynamic binary instrumentation framework; intelligent networking; memory usage analysis; multicore MIPS processors; multicore MIPS64 processor; n32 MIPS dialect instructions; network optimisation; open-source Valgrind developer community; profiling accuracy; profiling purpose; security processing features; software applications; system call wrapping; Computer architecture; Ground penetrating radar; Instruments; Kernel; Linux; Program processors; Registers; Dynamic Binary Instrumentation; MIPS; Operating System; Profiling; Programming debugging;
fLanguage
English
Publisher
ieee
Conference_Titel
Multi Topic Conference (INMIC), 2013 16th International
Conference_Location
Lahore
Type
conf
DOI
10.1109/INMIC.2013.6731344
Filename
6731344
Link To Document