pr21375-n32.s 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. .abicalls
  2. .set noreorder
  3. .type obj, @object
  4. .weak obj
  5. .ifdef prot
  6. .protected obj
  7. .endif
  8. .ifdef hidn
  9. .hidden obj
  10. .endif
  11. .ifdef intr
  12. .internal obj
  13. .endif
  14. .section .text.foo, "ax", @progbits
  15. .globl foo
  16. .ent foo
  17. foo:
  18. .frame $sp, 0, $31
  19. .mask 0x00000000, 0
  20. .fmask 0x00000000, 0
  21. .cplocal $4
  22. .cpsetup $25, $0, foo
  23. lw $2, %got_page(obj + 4)($4)
  24. lw $3, %got_disp(obj)($4)
  25. addiu $2, %got_ofst(obj + 4)
  26. jr $31
  27. addiu $3, 4
  28. .end foo
  29. # Pad a little so that the microMIPS version aligns the same.
  30. .space 4
  31. # Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
  32. .align 4, 0
  33. .space 16
  34. .section .text.bar, "ax", @progbits
  35. .ent bar
  36. bar:
  37. .frame $sp, 0, $31
  38. .mask 0x00000000, 0
  39. .fmask 0x00000000, 0
  40. .cplocal $4
  41. .cpsetup $25, $0, bar
  42. lwl $2, %got_page(obj + 4)($4)
  43. lwr $3, %got_disp(obj)($4)
  44. addiu $2, %got_ofst(obj + 4)
  45. jr $31
  46. addiu $3, 4
  47. .end bar
  48. # Pad a little so that the microMIPS version aligns the same.
  49. .space 4
  50. # Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
  51. .align 4, 0
  52. .space 16