Include the source code diff in the update module and export it via sysfs.
[ksplice.git] / objmanip.h
blobc024c5ddecd21837aae8fc1c7f5997676b45a48e
1 struct wsect {
2 char *name;
3 struct wsect *next;
4 };
6 struct specsect {
7 char *sectname;
8 unsigned char odd_relocs;
9 char *odd_relocname;
10 int entry_size;
13 int main(int argc, char **argv);
14 void rm_some_relocs(bfd *ibfd, asection *isection);
15 void write_ksplice_reloc(bfd *ibfd, asection *isection, arelent *orig_reloc,
16 struct supersect *ss);
17 void blot_section(bfd *abfd, asection *sect, int offset,
18 reloc_howto_type *howto);
19 void write_ksplice_size(bfd *ibfd, asymbol **symp);
20 void write_ksplice_patch(bfd *ibfd, char *symname);
21 void rm_from_special(bfd *ibfd, struct specsect *s);
22 void mark_wanted_if_referenced(bfd *abfd, asection *sect, void *ignored);
23 void check_for_ref_to_section(bfd *abfd, asection *looking_at,
24 void *looking_for);
25 static bfd_boolean copy_object(bfd *ibfd, bfd *obfd);
26 static void setup_section(bfd *ibfd, asection *isection, void *obfdarg);
27 static void setup_new_section(bfd *obfd, struct supersect *ss);
28 static void write_section(bfd *obfd, asection *osection, void *arg);
29 static void mark_symbols_used_in_relocations(bfd *ibfd, asection *isection,
30 void *symbolsarg);
31 static void ss_mark_symbols_used_in_relocations(struct supersect *ss);
32 static void filter_symbols(bfd *abfd, bfd *obfd, struct asymbolp_vec *osyms,
33 struct asymbolp_vec *isyms);
34 int exists_sym_with_name(struct asymbolp_vec *syms, const char *desired);
35 int match_varargs(const char *str);
36 int want_section(asection *sect);
37 struct specsect *is_special(asection *sect);
38 struct supersect *make_section(bfd *abfd, struct asymbolp_vec *syms,
39 char *name);