Date: Mon, 9 Sep 2019 17:37:52 +0000 (UTC) From: Kyle Evans <kevans@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r352083 - in stable: 11/lib/libc/mips 11/sys/mips/include 12/lib/libc/mips 12/sys/mips/include Message-ID: <201909091737.x89Hbqq5083786@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kevans Date: Mon Sep 9 17:37:52 2019 New Revision: 352083 URL: https://svnweb.freebsd.org/changeset/base/352083 Log: MFC r351681: mips: fix some mcount nits The symbol version for _mcount was removed 12 years ago in r169525 from gmon/Symbol.map, to be added to the per-arch Symbol.map. mips was overlooked in this, so _mcount has no symver. Add it back to where it should have been, rather than where it would go if it were added today, since we're correcting a historical mistake. Additionally, _mcount is getting thrown into .mdebug.abi32 in the llvm80/90 world as it's not getting explicitly thrown into .text, so do this now. This fixes the libc build that was previously failing due to relocations in .mdebug.abi32. This is specifically due to the way clang's integrated AS works and that they emit the .mdebug.abiNN section early in the process. An LLVM bug has been submitted (and since committed) and an agreement has been made that the mips backend should switch to .text following .mdebug.abiNN for compatibility. Modified: stable/11/lib/libc/mips/Symbol.map stable/11/sys/mips/include/profile.h Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/12/lib/libc/mips/Symbol.map stable/12/sys/mips/include/profile.h Directory Properties: stable/12/ (props changed) Modified: stable/11/lib/libc/mips/Symbol.map ============================================================================== --- stable/11/lib/libc/mips/Symbol.map Mon Sep 9 17:36:29 2019 (r352082) +++ stable/11/lib/libc/mips/Symbol.map Mon Sep 9 17:37:52 2019 (r352083) @@ -11,6 +11,7 @@ FBSD_1.0 { /* PSEUDO syscalls */ _exit; + _mcount; _setjmp; _longjmp; alloca; Modified: stable/11/sys/mips/include/profile.h ============================================================================== --- stable/11/sys/mips/include/profile.h Mon Sep 9 17:36:29 2019 (r352082) +++ stable/11/sys/mips/include/profile.h Mon Sep 9 17:37:52 2019 (r352083) @@ -44,7 +44,8 @@ /*XXX This is not MIPS64 safe. */ #define MCOUNT \ - __asm(".globl _mcount;" \ + __asm(".text;" \ + ".globl _mcount;" \ ".type _mcount,@function;" \ "_mcount:;" \ ".set noreorder;" \
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201909091737.x89Hbqq5083786>