]> granicus.if.org Git - llvm/commit
[mips] Switch to the `.text` section after emitting asm file preamble
authorSimon Atanasyan <simon@atanasyan.com>
Tue, 3 Sep 2019 10:24:07 +0000 (10:24 +0000)
committerSimon Atanasyan <simon@atanasyan.com>
Tue, 3 Sep 2019 10:24:07 +0000 (10:24 +0000)
commit1168c554996662209dbc6564e131dd763e356b3a
tree648b345183d524061ee35b9a6790b820ef294b2b
parent14c68ddd6dd6e074c2405421eb13b0abb2f555fd
[mips] Switch to the `.text` section after emitting asm file preamble

Now the last `.section` directive in the MIPS asm file preamble
is the `.section .mdebug.abi`. If assembler code injected for example
by the LLVM `module asm` or the C ` __asm` directives do not contain
explicit switching to the `.text` section it goes to the `.mdebug.abi`
section. It might be unexpected to the user and in fact for example
breaks building some existing code like FreeBSD libc [1].

The patch forces switching to the `.text` section after emitting MIPS
assembler file preamble.

[1] https://bugs.llvm.org/show_bug.cgi?id=43119

Fix PR43119.

Differential Revision: https://reviews.llvm.org/D67014

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@370735 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/MipsAsmPrinter.cpp
test/CodeGen/Mips/start-asm-file.ll