or1k: Add return address argument to _mcount call
commit308531d148afa3fd77c0efc82a80b26300f9615a
authorStafford Horne <shorne@gmail.com>
Wed, 27 Oct 2021 21:54:05 +0000 (28 06:54 +0900)
committerStafford Horne <shorne@gmail.com>
Thu, 28 Oct 2021 20:31:38 +0000 (29 05:31 +0900)
tree30d637161691dd33fee4ee2d2a0a7c3e2f87878f
parent6123b998b185572abac7d7224b34f03955bb91a2
or1k: Add return address argument to _mcount call

This fixes an issue in the glibc port I am working on where the build
fails due to the warning:

  error: calling ‘__builtin_return_address’ with a nonzero argument is unsafe [-Werror=frame-address]

This is due to how the current implementation of _mcount in glibc uses
__builtin_return_address with a count argument of 1.

Fix that by passing the value of LR_REGNUM to the _mcount function,
effectivtly providing the value _mcount is after.

This is an ABI change, but I think it's OK because the glibc port for
or1k is not yet upstreamed.  Also, I think just adding an argument
should not break anything anyway.

gcc/ChangeLog:

* config/or1k/or1k.h (PROFILE_HOOK): Add return address argument
to _mcount.
gcc/config/or1k/or1k.h