module.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _ASM_IA64_MODULE_H
  3. #define _ASM_IA64_MODULE_H
  4. #include <asm-generic/module.h>
  5. /*
  6. * IA-64-specific support for kernel module loader.
  7. *
  8. * Copyright (C) 2003 Hewlett-Packard Co
  9. * David Mosberger-Tang <[email protected]>
  10. */
  11. struct elf64_shdr; /* forward declration */
  12. struct mod_arch_specific {
  13. /* Used only at module load time. */
  14. struct elf64_shdr *core_plt; /* core PLT section */
  15. struct elf64_shdr *init_plt; /* init PLT section */
  16. struct elf64_shdr *got; /* global offset table */
  17. struct elf64_shdr *opd; /* official procedure descriptors */
  18. struct elf64_shdr *unwind; /* unwind-table section */
  19. unsigned long gp; /* global-pointer for module */
  20. unsigned int next_got_entry; /* index of next available got entry */
  21. /* Used at module run and cleanup time. */
  22. void *core_unw_table; /* core unwind-table cookie returned by unwinder */
  23. void *init_unw_table; /* init unwind-table cookie returned by unwinder */
  24. void *opd_addr; /* symbolize uses .opd to get to actual function */
  25. unsigned long opd_size;
  26. };
  27. #define ARCH_SHF_SMALL SHF_IA_64_SHORT
  28. #endif /* _ASM_IA64_MODULE_H */