diff -Naur elfutils-0.155.orig/src/ld.h elfutils-0.155/src/ld.h --- elfutils-0.155.orig/src/ld.h 2012-08-27 18:29:31.000000000 +0000 +++ elfutils-0.155/src/ld.h 2013-05-22 12:21:43.171830137 +0000 @@ -291,7 +291,7 @@ const char **(*lib_extensions) (struct ld_state *) __attribute__ ((__const__)); #define LIB_EXTENSION(state) \ - DL_CALL_FCT ((state)->callbacks.lib_extensions, (state)) + ((state)->callbacks.lib_extensions)(state) /* Process the given file. If the file is not yet open, open it. The first parameter is a file descriptor for the file which can @@ -302,12 +302,12 @@ int (*file_process) (int fd, struct usedfiles *, struct ld_state *, struct usedfiles **); #define FILE_PROCESS(fd, file, state, nextp) \ - DL_CALL_FCT ((state)->callbacks.file_process, (fd, file, state, nextp)) + ((state)->callbacks.file_process)(fd, file, state, nextp) /* Close the given file. */ int (*file_close) (struct usedfiles *, struct ld_state *); #define FILE_CLOSE(file, state) \ - DL_CALL_FCT ((state)->callbacks.file_close, (file, state)) + ((state)->callbacks.file_close)(file, state) /* Create the output sections now. This requires knowledge about all the sections we will need. It may be necessary to sort the @@ -319,99 +319,97 @@ output routines. */ void (*create_sections) (struct ld_state *); #define CREATE_SECTIONS(state) \ - DL_CALL_FCT ((state)->callbacks.create_sections, (state)) + ((state)->callbacks.create_sections)(state) /* Determine whether we have any non-weak unresolved references left. */ int (*flag_unresolved) (struct ld_state *); #define FLAG_UNRESOLVED(state) \ - DL_CALL_FCT ((state)->callbacks.flag_unresolved, (state)) + ((state)->callbacks.flag_unresolved)(state) /* Create the sections which are generated by the linker and are not present in the input file. */ void (*generate_sections) (struct ld_state *); #define GENERATE_SECTIONS(state) \ - DL_CALL_FCT ((state)->callbacks.generate_sections, (state)) + ((state)->callbacks.generate_sections)(state) /* Open the output file. The file name is given or "a.out". We create as much of the ELF structure as possible. */ int (*open_outfile) (struct ld_state *, int, int, int); #define OPEN_OUTFILE(state, machine, class, data) \ - DL_CALL_FCT ((state)->callbacks.open_outfile, (state, machine, class, data)) + ((state)->callbacks.open_outfile)(state, machine, class, data) /* Create the data for the output file. */ int (*create_outfile) (struct ld_state *); #define CREATE_OUTFILE(state) \ - DL_CALL_FCT ((state)->callbacks.create_outfile, (state)) + ((state)->callbacks.create_outfile)(state) /* Process a relocation section. */ void (*relocate_section) (struct ld_state *, Elf_Scn *, struct scninfo *, const Elf32_Word *); #define RELOCATE_SECTION(state, outscn, first, dblindirect) \ - DL_CALL_FCT ((state)->callbacks.relocate_section, (state, outscn, first, \ - dblindirect)) + ((state)->callbacks.relocate_section)(state, outscn, first, dblindirect) /* Allocate a data buffer for the relocations of the given output section. */ void (*count_relocations) (struct ld_state *, struct scninfo *); #define COUNT_RELOCATIONS(state, scninfo) \ - DL_CALL_FCT ((state)->callbacks.count_relocations, (state, scninfo)) + ((state)->callbacks.count_relocations)(state, scninfo) /* Create relocations for executable or DSO. */ void (*create_relocations) (struct ld_state *, const Elf32_Word *); #define CREATE_RELOCATIONS(state, dlbindirect) \ - DL_CALL_FCT ((state)->callbacks.create_relocations, (state, dblindirect)) + ((state)->callbacks.create_relocations)(state, dblindirect) /* Finalize the output file. */ int (*finalize) (struct ld_state *); #define FINALIZE(state) \ - DL_CALL_FCT ((state)->callbacks.finalize, (state)) + ((state)->callbacks.finalize)(state) /* Check whether special section number is known. */ bool (*special_section_number_p) (struct ld_state *, size_t); #define SPECIAL_SECTION_NUMBER_P(state, number) \ - DL_CALL_FCT ((state)->callbacks.special_section_number_p, (state, number)) + ((state)->callbacks.special_section_number_p)(state, number) /* Check whether section type is known. */ bool (*section_type_p) (struct ld_state *, XElf_Word); #define SECTION_TYPE_P(state, type) \ - DL_CALL_FCT ((state)->callbacks.section_type_p, (state, type)) + ((state)->callbacks.section_type_p)(state, type) /* Return section flags for .dynamic section. */ XElf_Xword (*dynamic_section_flags) (struct ld_state *); #define DYNAMIC_SECTION_FLAGS(state) \ - DL_CALL_FCT ((state)->callbacks.dynamic_section_flags, (state)) + ((state)->callbacks.dynamic_section_flags)(state) /* Create the data structures for the .plt section and initialize it. */ void (*initialize_plt) (struct ld_state *, Elf_Scn *scn); #define INITIALIZE_PLT(state, scn) \ - DL_CALL_FCT ((state)->callbacks.initialize_plt, (state, scn)) + ((state)->callbacks.initialize_plt)(state, scn) /* Create the data structures for the .rel.plt section and initialize it. */ void (*initialize_pltrel) (struct ld_state *, Elf_Scn *scn); #define INITIALIZE_PLTREL(state, scn) \ - DL_CALL_FCT ((state)->callbacks.initialize_pltrel, (state, scn)) + ((state)->callbacks.initialize_pltrel)(state, scn) /* Finalize the .plt section the what belongs to them. */ void (*finalize_plt) (struct ld_state *, size_t, size_t, struct symbol **); #define FINALIZE_PLT(state, nsym, nsym_dyn, ndxtosym) \ - DL_CALL_FCT ((state)->callbacks.finalize_plt, (state, nsym, nsym_dyn, \ - ndxtosym)) + ((state)->callbacks.finalize_plt)(state, nsym, nsym_dyn, ndxtosym) /* Create the data structures for the .got section and initialize it. */ void (*initialize_got) (struct ld_state *, Elf_Scn *scn); #define INITIALIZE_GOT(state, scn) \ - DL_CALL_FCT ((state)->callbacks.initialize_got, (state, scn)) + ((state)->callbacks.initialize_got)(state, scn) /* Create the data structures for the .got.plt section and initialize it. */ void (*initialize_gotplt) (struct ld_state *, Elf_Scn *scn); #define INITIALIZE_GOTPLT(state, scn) \ - DL_CALL_FCT ((state)->callbacks.initialize_gotplt, (state, scn)) + ((state)->callbacks.initialize_gotplt)(state, scn) /* Return the tag corresponding to the native relocation type for the platform. */ int (*rel_type) (struct ld_state *); #define REL_TYPE(state) \ - DL_CALL_FCT ((state)->callbacks.rel_type, (state)) + ((state)->callbacks.rel_type)(state) };