Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release/18.x: MIPS: fix emitDirectiveCpsetup on N32 (#80534) #83198

Merged
merged 1 commit into from
Mar 11, 2024

Commits on Mar 11, 2024

  1. MIPS: fix emitDirectiveCpsetup on N32 (llvm#80534)

    In gas, .cpsetup may expand to one of two code sequences (one is related to `__gnu_local_gp`), depending on -mno-shared and -msym32.
    Since Clang doesn't support -mno-shared or -msym32, .cpsetup expands to one code sequence.
    The N32 condition incorrectly leads to the incorrect `__gnu_local_gp` code sequence.
    
    ```
    00000000 <t1>:
       0:   ffbc0008        sd      gp,8(sp)
       4:   3c1c0000        lui     gp,0x0
                            4: R_MIPS_HI16  __gnu_local_gp
       8:   279c0000        addiu   gp,gp,0
                            8: R_MIPS_LO16  __gnu_local_gp
    ```
    
    Fixes: llvm#52785
    (cherry picked from commit 860b6ed)
    wzssyqa authored and tstellar committed Mar 11, 2024
    Configuration menu
    Copy the full SHA
    340ba45 View commit details
    Browse the repository at this point in the history