module.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. * include/asm-v850/module.h -- Architecture-specific module hooks
  3. *
  4. * Copyright (C) 2001,02,03,04 NEC Corporation
  5. * Copyright (C) 2001,02,03,04 Miles Bader <miles@gnu.org>
  6. * Copyright (C) 2001,03 Rusty Russell
  7. *
  8. * This file is subject to the terms and conditions of the GNU General
  9. * Public License. See the file COPYING in the main directory of this
  10. * archive for more details.
  11. *
  12. * Written by Miles Bader <miles@gnu.org>
  13. *
  14. * Derived in part from include/asm-ppc/module.h
  15. */
  16. #ifndef __V850_MODULE_H__
  17. #define __V850_MODULE_H__
  18. #define MODULE_SYMBOL_PREFIX "_"
  19. struct v850_plt_entry
  20. {
  21. /* Indirect jump instruction sequence (6-byte mov + 2-byte jr). */
  22. unsigned long tramp[2];
  23. };
  24. struct mod_arch_specific
  25. {
  26. /* Indices of PLT sections within module. */
  27. unsigned int core_plt_section, init_plt_section;
  28. };
  29. #define Elf_Shdr Elf32_Shdr
  30. #define Elf_Sym Elf32_Sym
  31. #define Elf_Ehdr Elf32_Ehdr
  32. /* Make empty sections for module_frob_arch_sections to expand. */
  33. #ifdef MODULE
  34. asm(".section .plt,\"ax\",@nobits; .align 3; .previous");
  35. asm(".section .init.plt,\"ax\",@nobits; .align 3; .previous");
  36. #endif
  37. /* We don't do exception tables. */
  38. struct exception_table_entry;
  39. static inline const struct exception_table_entry *
  40. search_extable(const struct exception_table_entry *first,
  41. const struct exception_table_entry *last,
  42. unsigned long value)
  43. {
  44. return 0;
  45. }
  46. #define ARCH_HAS_SEARCH_EXTABLE
  47. static inline void
  48. sort_extable(struct exception_table_entry *start,
  49. struct exception_table_entry *finish)
  50. {
  51. /* nada */
  52. }
  53. #define ARCH_HAS_SORT_EXTABLE
  54. #endif /* __V850_MODULE_H__ */