671 extern void *libld_realloc(void *, size_t);
672
673 extern int isdavl_compare(const void *, const void *);
674
675 extern Sdf_desc *sdf_add(const char *, APlist **);
676 extern Sdf_desc *sdf_find(const char *, APlist *);
677
678 #if defined(_ELF64)
679
680 #define ld_add_actrel ld64_add_actrel
681 #define ld_add_libdir ld64_add_libdir
682 #define ld_adj_movereloc ld64_adj_movereloc
683 #define ld_am_I_partial ld64_am_I_partial
684 #define ld_ar_member ld64_ar_member
685 #define ld_ar_setup ld64_ar_setup
686 #define ld_assign_got_TLS ld64_assign_got_TLS
687 #define ld_bswap_Word ld64_bswap_Word
688 #define ld_bswap_Xword ld64_bswap_Xword
689 #define ld_cap_add_family ld64_cap_add_family
690 #define ld_cap_move_symtoobj ld64_cap_move_symtoobj
691 #define ld_disp_errmsg ld64_disp_errmsg
692 #define ld_ent_check ld64_ent_check
693 #define ld_ent_lookup ld64_ent_lookup
694 #define ld_eprintf ld64_eprintf
695 #define ld_exit ld64_exit
696 #define ld_find_library ld64_find_library
697 #define ld_finish_libs ld64_finish_libs
698 #define ld_get_group ld64_get_group
699 #define ld_group_process ld64_group_process
700 #define ld_lib_setup ld64_lib_setup
701 #define ld_init_sighandler ld64_init_sighandler
702 #define ld_lcm ld64_lcm
703 #define ld_make_bss ld64_make_bss
704 #define ld_make_data ld64_make_data
705 #define ld_make_got ld64_make_got
706 #define ld_make_parexpn_data ld64_make_parexpn_data
707 #define ld_make_sunwmove ld64_make_sunmove
708 #define ld_make_text ld64_make_text
709 #define ld_map_out ld64_map_out
710 #define ld_map_parse ld64_map_parse
768 #define ld_vers_find ld64_vers_find
769 #define ld_vers_need_process ld64_vers_need_process
770 #define ld_vers_promote ld64_vers_promote
771 #define ld_vers_sym_process ld64_vers_sym_process
772 #define ld_vers_verify ld64_vers_verify
773 #define ld_wrap_enter ld64_wrap_enter
774
775 #else
776
777 #define ld_add_actrel ld32_add_actrel
778 #define ld_add_libdir ld32_add_libdir
779 #define ld_adj_movereloc ld32_adj_movereloc
780 #define ld_am_I_partial ld32_am_I_partial
781 #define ld_ar_member ld32_ar_member
782 #define ld_ar_setup ld32_ar_setup
783 #define ld_assign_got_TLS ld32_assign_got_TLS
784 #define ld_bswap_Word ld32_bswap_Word
785 #define ld_bswap_Xword ld32_bswap_Xword
786 #define ld_cap_add_family ld32_cap_add_family
787 #define ld_cap_move_symtoobj ld32_cap_move_symtoobj
788 #define ld_disp_errmsg ld32_disp_errmsg
789 #define ld_ent_check ld32_ent_check
790 #define ld_ent_lookup ld32_ent_lookup
791 #define ld_eprintf ld32_eprintf
792 #define ld_exit ld32_exit
793 #define ld_find_library ld32_find_library
794 #define ld_finish_libs ld32_finish_libs
795 #define ld_get_group ld32_get_group
796 #define ld_group_process ld32_group_process
797 #define ld_lib_setup ld32_lib_setup
798 #define ld_init_sighandler ld32_init_sighandler
799 #define ld_lcm ld32_lcm
800 #define ld_make_bss ld32_make_bss
801 #define ld_make_data ld32_make_data
802 #define ld_make_got ld32_make_got
803 #define ld_make_parexpn_data ld32_make_parexpn_data
804 #define ld_make_sunwmove ld32_make_sunmove
805 #define ld_make_text ld32_make_text
806 #define ld_map_out ld32_map_out
807 #define ld_map_parse ld32_map_parse
875 extern int dbg_setup(Ofl_desc *, const char *, int);
876
877 extern uintptr_t ld_add_actrel(Word, Rel_desc *, Ofl_desc *);
878 extern uintptr_t ld_add_libdir(Ofl_desc *, const char *);
879 extern void ld_adj_movereloc(Ofl_desc *, Rel_desc *);
880 extern Sym_desc * ld_am_I_partial(Rel_desc *, Xword);
881 extern void ld_ar_member(Ar_desc *, Elf_Arsym *, Ar_aux *,
882 Ar_mem *);
883 extern Ar_desc *ld_ar_setup(const char *, Elf *, Ofl_desc *);
884 extern uintptr_t ld_assign_got_TLS(Boolean, Rel_desc *, Ofl_desc *,
885 Sym_desc *, Gotndx *, Gotref, Word, Word,
886 Word, Word);
887
888 extern Word ld_bswap_Word(Word);
889 extern Xword ld_bswap_Xword(Xword);
890
891 extern uintptr_t ld_cap_add_family(Ofl_desc *, Sym_desc *, Sym_desc *,
892 Cap_group *, APlist **);
893 extern void ld_cap_move_symtoobj(Ofl_desc *);
894
895 extern void ld_disp_errmsg(const char *, Rel_desc *, Ofl_desc *);
896
897 extern void ld_ent_check(Ofl_desc *);
898 extern Ent_desc *ld_ent_lookup(Ofl_desc *, const char *name,
899 avl_index_t *where);
900 extern void ld_eprintf(Ofl_desc *, Error, const char *, ...);
901 extern int ld_exit(Ofl_desc *);
902
903 extern uintptr_t ld_find_library(const char *, Ofl_desc *);
904 extern uintptr_t ld_finish_libs(Ofl_desc *);
905
906 extern const char *ld_stt_section_sym_name(Is_desc *);
907
908 extern Group_desc *ld_get_group(Ofl_desc *, Is_desc *);
909 extern uintptr_t ld_group_process(Is_desc *, Ofl_desc *);
910
911 extern uintptr_t ld_lib_setup(Ofl_desc *);
912
913 extern void ld_init_sighandler(Ofl_desc *);
914
|
671 extern void *libld_realloc(void *, size_t);
672
673 extern int isdavl_compare(const void *, const void *);
674
675 extern Sdf_desc *sdf_add(const char *, APlist **);
676 extern Sdf_desc *sdf_find(const char *, APlist *);
677
678 #if defined(_ELF64)
679
680 #define ld_add_actrel ld64_add_actrel
681 #define ld_add_libdir ld64_add_libdir
682 #define ld_adj_movereloc ld64_adj_movereloc
683 #define ld_am_I_partial ld64_am_I_partial
684 #define ld_ar_member ld64_ar_member
685 #define ld_ar_setup ld64_ar_setup
686 #define ld_assign_got_TLS ld64_assign_got_TLS
687 #define ld_bswap_Word ld64_bswap_Word
688 #define ld_bswap_Xword ld64_bswap_Xword
689 #define ld_cap_add_family ld64_cap_add_family
690 #define ld_cap_move_symtoobj ld64_cap_move_symtoobj
691 #define ld_comdat_validate ld64_comdat_validate
692 #define ld_disp_errmsg ld64_disp_errmsg
693 #define ld_ent_check ld64_ent_check
694 #define ld_ent_lookup ld64_ent_lookup
695 #define ld_eprintf ld64_eprintf
696 #define ld_exit ld64_exit
697 #define ld_find_library ld64_find_library
698 #define ld_finish_libs ld64_finish_libs
699 #define ld_get_group ld64_get_group
700 #define ld_group_process ld64_group_process
701 #define ld_lib_setup ld64_lib_setup
702 #define ld_init_sighandler ld64_init_sighandler
703 #define ld_lcm ld64_lcm
704 #define ld_make_bss ld64_make_bss
705 #define ld_make_data ld64_make_data
706 #define ld_make_got ld64_make_got
707 #define ld_make_parexpn_data ld64_make_parexpn_data
708 #define ld_make_sunwmove ld64_make_sunmove
709 #define ld_make_text ld64_make_text
710 #define ld_map_out ld64_map_out
711 #define ld_map_parse ld64_map_parse
769 #define ld_vers_find ld64_vers_find
770 #define ld_vers_need_process ld64_vers_need_process
771 #define ld_vers_promote ld64_vers_promote
772 #define ld_vers_sym_process ld64_vers_sym_process
773 #define ld_vers_verify ld64_vers_verify
774 #define ld_wrap_enter ld64_wrap_enter
775
776 #else
777
778 #define ld_add_actrel ld32_add_actrel
779 #define ld_add_libdir ld32_add_libdir
780 #define ld_adj_movereloc ld32_adj_movereloc
781 #define ld_am_I_partial ld32_am_I_partial
782 #define ld_ar_member ld32_ar_member
783 #define ld_ar_setup ld32_ar_setup
784 #define ld_assign_got_TLS ld32_assign_got_TLS
785 #define ld_bswap_Word ld32_bswap_Word
786 #define ld_bswap_Xword ld32_bswap_Xword
787 #define ld_cap_add_family ld32_cap_add_family
788 #define ld_cap_move_symtoobj ld32_cap_move_symtoobj
789 #define ld_comdat_validate ld32_comdat_validate
790 #define ld_disp_errmsg ld32_disp_errmsg
791 #define ld_ent_check ld32_ent_check
792 #define ld_ent_lookup ld32_ent_lookup
793 #define ld_eprintf ld32_eprintf
794 #define ld_exit ld32_exit
795 #define ld_find_library ld32_find_library
796 #define ld_finish_libs ld32_finish_libs
797 #define ld_get_group ld32_get_group
798 #define ld_group_process ld32_group_process
799 #define ld_lib_setup ld32_lib_setup
800 #define ld_init_sighandler ld32_init_sighandler
801 #define ld_lcm ld32_lcm
802 #define ld_make_bss ld32_make_bss
803 #define ld_make_data ld32_make_data
804 #define ld_make_got ld32_make_got
805 #define ld_make_parexpn_data ld32_make_parexpn_data
806 #define ld_make_sunwmove ld32_make_sunmove
807 #define ld_make_text ld32_make_text
808 #define ld_map_out ld32_map_out
809 #define ld_map_parse ld32_map_parse
877 extern int dbg_setup(Ofl_desc *, const char *, int);
878
879 extern uintptr_t ld_add_actrel(Word, Rel_desc *, Ofl_desc *);
880 extern uintptr_t ld_add_libdir(Ofl_desc *, const char *);
881 extern void ld_adj_movereloc(Ofl_desc *, Rel_desc *);
882 extern Sym_desc * ld_am_I_partial(Rel_desc *, Xword);
883 extern void ld_ar_member(Ar_desc *, Elf_Arsym *, Ar_aux *,
884 Ar_mem *);
885 extern Ar_desc *ld_ar_setup(const char *, Elf *, Ofl_desc *);
886 extern uintptr_t ld_assign_got_TLS(Boolean, Rel_desc *, Ofl_desc *,
887 Sym_desc *, Gotndx *, Gotref, Word, Word,
888 Word, Word);
889
890 extern Word ld_bswap_Word(Word);
891 extern Xword ld_bswap_Xword(Xword);
892
893 extern uintptr_t ld_cap_add_family(Ofl_desc *, Sym_desc *, Sym_desc *,
894 Cap_group *, APlist **);
895 extern void ld_cap_move_symtoobj(Ofl_desc *);
896
897 extern void ld_comdat_validate(Ofl_desc *, Ifl_desc *);
898
899 extern void ld_disp_errmsg(const char *, Rel_desc *, Ofl_desc *);
900
901 extern void ld_ent_check(Ofl_desc *);
902 extern Ent_desc *ld_ent_lookup(Ofl_desc *, const char *name,
903 avl_index_t *where);
904 extern void ld_eprintf(Ofl_desc *, Error, const char *, ...);
905 extern int ld_exit(Ofl_desc *);
906
907 extern uintptr_t ld_find_library(const char *, Ofl_desc *);
908 extern uintptr_t ld_finish_libs(Ofl_desc *);
909
910 extern const char *ld_stt_section_sym_name(Is_desc *);
911
912 extern Group_desc *ld_get_group(Ofl_desc *, Is_desc *);
913 extern uintptr_t ld_group_process(Is_desc *, Ofl_desc *);
914
915 extern uintptr_t ld_lib_setup(Ofl_desc *);
916
917 extern void ld_init_sighandler(Ofl_desc *);
918
|