| .text |
| .global _start |
| _start: |
| |
| .ifdef __medany__ |
| .option pic |
| .ifdef __undefweak__ |
| # Refer to undefined weak symbol by GOT_PCREL. |
| la t0, symbolW |
| .option nopic |
| .else |
| # Refer to global data symbol by GOT_PCREL. |
| la t0, symbolG |
| .option nopic |
| # Refer to local data symbol by PCREL. |
| lla t0, symbolL |
| # Refer to non-pic data global symbol by PCREL. |
| la t0, symbolG |
| .endif |
| .endif |
| |
| .ifdef __medlow__ |
| .ifdef __undefweak__ |
| # Refer to undefined weak symbol by absolutely access. |
| lui t0, %hi(symbolW) |
| addi t0, t0, %lo(symbolW) |
| .else |
| # Refer to local data symbol by absolutely access. |
| lui t0, %hi(symbolL) |
| addi t0, t0, %lo(symbolL) |
| # Refer to global data symbol by absolutely access. |
| lui t0, %hi(symbolG) |
| addi t0, t0, %lo(symbolG) |
| .endif |
| .endif |
| .size _start, .-_start |
| |
| .data |
| .global symbolG |
| symbolL: |
| .dword 0x1111222233334444 |
| symbolG: |
| .dword 0x5555666677778888 |
| |
| .ifdef __undefweak__ |
| .weak symbolW |
| .endif |