crtn.S 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # Specialized code needed to support construction and destruction of
  2. # file-scope objects in C++ and Java code, and to support exception handling.
  3. # Copyright (C) 2012-2022 Free Software Foundation, Inc.
  4. # Contributed by KPIT Cummins Infosystems Limited.
  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 supplies function epilogues for the .init and .fini sections.
  24. It is linked in after all other files. */
  25. .ident "GNU C crtn.o"
  26. .section .init
  27. #if defined (__ID_SHARED_LIB__)
  28. popret $2, r12, ra
  29. #else
  30. popret ra
  31. #endif
  32. .section .fini
  33. #if defined (__ID_SHARED_LIB__)
  34. popret $2, r12, ra
  35. #else
  36. popret ra
  37. #endif