Noticed during a glibc build for MIPS-III ISA that the -mfix-r4000
and -mfix-r4400 gcc flags got stripped off.  These are needed to work
around known CPU errata in R4000 and R4400 CPUs.  In addition, also
add the -mfix-rm7000 option (and it's -mno form) to fix errata in the
PMC RM7000 CPU, and the -mr10k-cache-barrier to control the generation
of cache barriers to work around the side-effects of R10000's
speculative execution capabilities.

Signed-off-by: Joshua Kinard <>
 eclass/flag-o-matic.eclass | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index e76eef293e..0c67ec9f7a 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -56,7 +56,9 @@ setup-allowed-flags() {
                -mno-faster-structs -mfaster-structs -m32 -m64 -mx32 -mabi
                -mlittle-endian -mbig-endian -EL -EB -fPIC -mlive-g0 -mcmodel
                -mstack-bias -mno-stack-bias -msecure-plt '-m*-toc' -mfloat-abi
-               -mfix-r10000 -mno-fix-r10000 -mthumb -marm
+               -mfix-r4000 -mno-fix-r4000 -mfix-r4400 -mno-fix-r4400
+               -mfix-rm7000 -mno-fix-rm7000 -mfix-r10000 -mno-fix-r10000
+               -mr10k-cache-barrier -mthumb -marm
                # gcc 4.5
                -mno-fma4 -mno-movbe -mno-xop -mno-lwp

Reply via email to