Blame libelf/chdr_xlate.h
|
Packit Service |
97d2fb |
#include "common.h"
|
|
Packit Service |
97d2fb |
|
|
Packit Service |
97d2fb |
/* These functions convert a while section, one Chdr plus compression data. */
|
|
Packit Service |
97d2fb |
|
|
Packit Service |
97d2fb |
static void
|
|
Packit Service |
97d2fb |
Elf32_cvt_chdr (void *dest, const void *src, size_t len, int encode)
|
|
Packit Service |
97d2fb |
{
|
|
Packit Service |
97d2fb |
if (len == 0)
|
|
Packit Service |
97d2fb |
return;
|
|
Packit Service |
97d2fb |
|
|
Packit Service |
97d2fb |
/* Move everything over, if necessary, we only need to xlate the
|
|
Packit Service |
97d2fb |
header, not the compressed data following it. */
|
|
Packit Service |
97d2fb |
if (dest != src)
|
|
Packit Service |
97d2fb |
memmove (dest, src, len);
|
|
Packit Service |
97d2fb |
|
|
Packit Service |
97d2fb |
if (len >= sizeof (Elf32_Chdr))
|
|
Packit Service |
97d2fb |
Elf32_cvt_Chdr (dest, src, sizeof (Elf32_Chdr), encode);
|
|
Packit Service |
97d2fb |
}
|
|
Packit Service |
97d2fb |
|
|
Packit Service |
97d2fb |
static void
|
|
Packit Service |
97d2fb |
Elf64_cvt_chdr (void *dest, const void *src, size_t len, int encode)
|
|
Packit Service |
97d2fb |
{
|
|
Packit Service |
97d2fb |
if (len == 0)
|
|
Packit Service |
97d2fb |
return;
|
|
Packit Service |
97d2fb |
|
|
Packit Service |
97d2fb |
/* Move everything over, if necessary, we only need to xlate the
|
|
Packit Service |
97d2fb |
header, not the compressed data following it. */
|
|
Packit Service |
97d2fb |
if (dest != src)
|
|
Packit Service |
97d2fb |
memmove (dest, src, len);
|
|
Packit Service |
97d2fb |
|
|
Packit Service |
97d2fb |
if (len >= sizeof (Elf64_Chdr))
|
|
Packit Service |
97d2fb |
Elf64_cvt_Chdr (dest, src, sizeof (Elf64_Chdr), encode);
|
|
Packit Service |
97d2fb |
}
|