Brian Silverman | 8649792 | 2018-02-10 19:28:39 -0500 | [diff] [blame] | 1 | #include "common.h" |
| 2 | |
| 3 | /* These functions convert a while section, one Chdr plus compression data. */ |
| 4 | |
| 5 | static void |
| 6 | Elf32_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 | |
| 20 | static void |
| 21 | Elf64_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 | } |