blob: 952c960f3bde5d6dc61ad7eda102664848822001 [file] [log] [blame]
#ifndef ELFCOPY_H
#define ELFCOPY_H
#include <libelf.h>
#include <libebl.h>
#include <elf.h>
#include <gelf.h>
/*
symbol_filter:
On input: symbol_filter[i] indicates whether to keep a symbol (1) or to
remove it from the symbol table.
On output: symbol_filter[i] indicates whether a symbol was removed (0) or
kept (1) in the symbol table.
*/
void clone_elf(Elf *elf, Elf *newelf,
const char *elf_name,
const char *newelf_name,
bool *symbol_filter,
int num_symbols,
int shady
#ifdef SUPPORT_ANDROID_PRELINK_TAGS
, int *prelinked,
int *elf_little,
long *prelink_addr,
int *retouched,
unsigned int *retouch_byte_cnt,
char *retouch_buf
#endif
, bool rebuild_shstrtab,
bool strip_debug,
bool dry_run);
#endif/*ELFCOPY_H*/