On Wed, 24 May 2017 01:52:13 PDT (-0700), matt.redfearn@xxxxxxxxxx wrote: > Hi Palmer > > > On 23/05/17 23:05, Palmer Dabbelt wrote: >> Many ports (m32r, microblaze, mips, parisc, score, and sparc) use >> functionally identical copies of various GCC library routine files, >> which came up as we were submitting the RISC-V port (which also uses >> some of these). >> >> This patch adds a new copy of these library routine files, which are >> functionally identical to the various other copies. These are >> availiable via Kconfig as CONFIG_LIB_$ROUTINE, which currently isn't >> used anywhere. > > Note that, on MIPS, we had to mark the compiler intrinsics as notrace > (see commit aedcfbe06558a9f53002e82d5be64c6c94687726) because if the > compiler requires the intrinsic in the ftrace path, it then tries to > trace itself leading to infinite recursion and stack overflow. So I'd > suggest you mark the generic versions notrace as well. Sorry, I didn't notice that. I got a bit swamped responding to the RISC-V port's code reviews, but assuming nobody has merged any of this I'll submit a v2 patch set that fixes this (and some other errors I believe I introduced) once I get through all my email. Thanks!