From 8d9455b422d98d97f090923445aa2680e6882f20 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Mon, 6 Nov 2006 22:45:08 +0000 Subject: Rework swapping code. --- elfcpp/elfcpp_internal.h | 159 ----------------------------------------------- 1 file changed, 159 deletions(-) (limited to 'elfcpp/elfcpp_internal.h') diff --git a/elfcpp/elfcpp_internal.h b/elfcpp/elfcpp_internal.h index e4c8636..c991535 100644 --- a/elfcpp/elfcpp_internal.h +++ b/elfcpp/elfcpp_internal.h @@ -5,8 +5,6 @@ #include "elfcpp_config.h" -#include - #ifndef ELFCPP_INTERNAL_H #define ELFCPP_INTERNAL_H @@ -16,163 +14,6 @@ namespace elfcpp namespace internal { -#ifdef WORDS_BIGENDIAN -const bool host_big_endian = true; -#else -const bool host_big_endian = false; -#endif - -// Conversion routines between target and host. - -// Convert Elf_Half. - -template -Elf_Half -convert_half_host(Elf_Half v); - -template<> -inline Elf_Half -convert_half_host(Elf_Half v) -{ - return v; -} - -template<> -inline Elf_Half -convert_half_host(Elf_Half v) -{ - return bswap_16(v); -} - -template -inline Elf_Half -convert_half(Elf_Half v) -{ - return convert_half_host(v); -} - -// Convert Elf_Word. - -template -Elf_Word -convert_word_host(Elf_Word v); - -template<> -inline Elf_Word -convert_word_host(Elf_Word v) -{ - return v; -} - -template<> -inline Elf_Word -convert_word_host(Elf_Word v) -{ - return bswap_32(v); -} - -template -inline Elf_Word -convert_word(Elf_Word v) -{ - return convert_word_host(v); -} - -// Convert Elf_Xword. - -template -Elf_Xword -convert_xword_host(Elf_Xword v); - -template<> -inline Elf_Xword -convert_xword_host(Elf_Xword v) -{ - return v; -} - -template<> -inline Elf_Xword -convert_xword_host(Elf_Xword v) -{ - return bswap_64(v); -} - -template -inline Elf_Xword -convert_xword(Elf_Xword v) -{ - return convert_xword_host(v); -} - -// Convert Elf_addr. - -template -typename Elf_types::Elf_Addr -convert_addr_size(typename Elf_types::Elf_Addr); - -template<> -inline Elf_types<32>::Elf_Addr -convert_addr_size<32, true>(Elf_types<32>::Elf_Addr v) -{ - return v; -} - -template<> -inline Elf_types<64>::Elf_Addr -convert_addr_size<64, true>(Elf_types<64>::Elf_Addr v) -{ - return v; -} - -template<> -inline Elf_types<32>::Elf_Addr -convert_addr_size<32, false>(Elf_types<32>::Elf_Addr v) -{ - return bswap_32(v); -} - -template<> -inline Elf_types<64>::Elf_Addr -convert_addr_size<64, false>(Elf_types<64>::Elf_Addr v) -{ - return bswap_64(v); -} - -template -inline typename Elf_types::Elf_Addr -convert_addr(typename Elf_types::Elf_Addr v) -{ - return convert_addr_size(v); -} - -// Convert Elf_Off. - -template -inline typename Elf_types::Elf_Off -convert_off(typename Elf_types::Elf_Off v) -{ - return convert_addr_size(v); -} - -// Convert Elf_WXword. - -template -inline typename Elf_types::Elf_WXword -convert_wxword(typename Elf_types::Elf_WXword v) -{ - return convert_addr_size(v); -} - -// Convert ELF_Swxword. - -template -inline typename Elf_types::Elf_Swxword -convert_swxword(typename Elf_types::Elf_Swxword v) -{ - return convert_addr_size(v); -} - // The ELF file header. template -- cgit v1.1