mem-cache: Remove "inline" from a method in one of the prefetchers.
authorGabe Black <gabe.black@gmail.com>
Thu, 12 Nov 2020 07:01:48 +0000 (23:01 -0800)
committerGabe Black <gabe.black@gmail.com>
Thu, 12 Nov 2020 22:04:42 +0000 (22:04 +0000)
commit760e18e35bef25d24d4543f71b9e3c4f5861d7c4
tree3d74806890db92da53f46d2c960b6bde30d947f3
parent97a766100b3731a843158099ba40c4cad887da7a
mem-cache: Remove "inline" from a method in one of the prefetchers.

The function was defined in a .cc file but marked as inline. gcc seems
to often figure out what it should do, but in clang it doesn't export
the function (since it's marked as inline), and during linking external
references, which don't have a local copy since it's not defined in the
.hh file, will fail.

This failure looks particularly odd because the funciton is virtual,
and so the failure is reported as being unable to compose the vtable
in places where the object is constructed, relatively obscure code
which is generated by the build system and obscured by templates from
an external code base (pybind11).

Change-Id: Ib51aefbf9005e4ca8dfebef32c5def472175f115
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/37436
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/mem/cache/prefetch/stride.cc