blob: 70782b43d63c6ba016881ac90c1f7c09faac200c [file] [log] [blame]
Brian Silverman86497922018-02-10 19:28:39 -05001#include "common.h"
2
3/* These functions convert a while section, one Chdr plus compression data. */
4
5static void
6Elf32_cvt_chdr (void *dest, const void *src, size_t len, int encode)
7{
8 if (len == 0)
9 return;
10
11 /* Move everything over, if necessary, we only need to xlate the
12 header, not the compressed data following it. */
13 if (dest != src)
14 memmove (dest, src, len);
15
16 if (len >= sizeof (Elf32_Chdr))
17 Elf32_cvt_Chdr (dest, src, sizeof (Elf32_Chdr), encode);
18}
19
20static void
21Elf64_cvt_chdr (void *dest, const void *src, size_t len, int encode)
22{
23 if (len == 0)
24 return;
25
26 /* Move everything over, if necessary, we only need to xlate the
27 header, not the compressed data following it. */
28 if (dest != src)
29 memmove (dest, src, len);
30
31 if (len >= sizeof (Elf64_Chdr))
32 Elf64_cvt_Chdr (dest, src, sizeof (Elf64_Chdr), encode);
33}