blob: 952c960f3bde5d6dc61ad7eda102664848822001 [file] [log] [blame]
The Android Open Source Project88b60792009-03-03 19:28:42 -08001#ifndef ELFCOPY_H
2#define ELFCOPY_H
3
4#include <libelf.h>
5#include <libebl.h>
6#include <elf.h>
7#include <gelf.h>
8
9/*
10symbol_filter:
11 On input: symbol_filter[i] indicates whether to keep a symbol (1) or to
12 remove it from the symbol table.
13 On output: symbol_filter[i] indicates whether a symbol was removed (0) or
14 kept (1) in the symbol table.
15*/
16
17void clone_elf(Elf *elf, Elf *newelf,
18 const char *elf_name,
19 const char *newelf_name,
20 bool *symbol_filter,
21 int num_symbols,
22 int shady
23#ifdef SUPPORT_ANDROID_PRELINK_TAGS
24 , int *prelinked,
25 int *elf_little,
Hristo Bojinov96be7202010-08-02 10:26:17 -070026 long *prelink_addr,
27 int *retouched,
28 unsigned int *retouch_byte_cnt,
29 char *retouch_buf
The Android Open Source Project88b60792009-03-03 19:28:42 -080030#endif
31 , bool rebuild_shstrtab,
32 bool strip_debug,
33 bool dry_run);
34
35#endif/*ELFCOPY_H*/