summaryrefslogtreecommitdiffstats
path: root/tools/soslim/soslim.h
blob: dfcb0856bcb2032a2c8a7ee24c70bd65db5fe566 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#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
#endif
               , bool rebuild_shstrtab,
               bool strip_debug,
               bool dry_run);

#endif/*ELFCOPY_H*/