sol-cn.S 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # crtn.s for sysv4
  2. # Copyright (C) 1996-2022 Free Software Foundation, Inc.
  3. # Written By Michael Meissner
  4. #
  5. # This file is free software; you can redistribute it and/or modify it
  6. # under the terms of the GNU General Public License as published by the
  7. # Free Software Foundation; either version 3, or (at your option) any
  8. # later version.
  9. #
  10. # This file is distributed in the hope that it will be useful, but
  11. # WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. # General Public License for more details.
  14. #
  15. # Under Section 7 of GPL version 3, you are granted additional
  16. # permissions described in the GCC Runtime Library Exception, version
  17. # 3.1, as published by the Free Software Foundation.
  18. #
  19. # You should have received a copy of the GNU General Public License and
  20. # a copy of the GCC Runtime Library Exception along with this program;
  21. # see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
  22. # <http://www.gnu.org/licenses/>.
  23. # This file just supplies labeled ending points for the .got* and other
  24. # special sections. It is linked in last after other modules.
  25. .ident "GNU C scrtn.s"
  26. #ifndef __powerpc64__
  27. # Default versions of exception handling register/deregister
  28. .weak _ex_register
  29. .weak _ex_deregister
  30. .set _ex_register,0
  31. .set _ex_deregister,0
  32. # End list of C++ constructors
  33. .section ".ctors","aw"
  34. .globl __CTOR_END__
  35. .type __CTOR_END__,@object
  36. __CTOR_END__:
  37. # End list of C++ destructors
  38. .section ".dtors","aw"
  39. .weak __DTOR_END__
  40. .type __DTOR_END__,@object
  41. __DTOR_END__:
  42. .section ".text"
  43. .globl _ex_text1
  44. _ex_text1:
  45. .section ".exception_ranges","aw"
  46. .globl _ex_range1
  47. _ex_range1:
  48. # Tail of _init used for static constructors
  49. .section ".init","ax"
  50. lwz %r0,16(%r1)
  51. lwz %r31,12(%r1)
  52. mtlr %r0
  53. addi %r1,%r1,16
  54. blr
  55. # Tail of _fini used for static destructors
  56. .section ".fini","ax"
  57. lwz %r0,16(%r1)
  58. lwz %r31,12(%r1)
  59. mtlr %r0
  60. addi %r1,%r1,16
  61. blr
  62. #endif