2626
2727#define __VDSO_USE_SYSCALL ULLONG_MAX
2828
29+ #if MIPS_ISA_REV < 6
30+ #define VDSO_SYSCALL_CLOBBERS "hi", "lo",
31+ #else
32+ #define VDSO_SYSCALL_CLOBBERS
33+ #endif
34+
2935static __always_inline long gettimeofday_fallback (
3036 struct __kernel_old_timeval * _tv ,
3137 struct timezone * _tz )
@@ -41,7 +47,9 @@ static __always_inline long gettimeofday_fallback(
4147 : "=r" (ret ), "=r" (error )
4248 : "r" (tv ), "r" (tz ), "r" (nr )
4349 : "$1" , "$3" , "$8" , "$9" , "$10" , "$11" , "$12" , "$13" ,
44- "$14" , "$15" , "$24" , "$25" , "hi" , "lo" , "memory" );
50+ "$14" , "$15" , "$24" , "$25" ,
51+ VDSO_SYSCALL_CLOBBERS
52+ "memory" );
4553
4654 return error ? - ret : ret ;
4755}
@@ -65,7 +73,9 @@ static __always_inline long clock_gettime_fallback(
6573 : "=r" (ret ), "=r" (error )
6674 : "r" (clkid ), "r" (ts ), "r" (nr )
6775 : "$1" , "$3" , "$8" , "$9" , "$10" , "$11" , "$12" , "$13" ,
68- "$14" , "$15" , "$24" , "$25" , "hi" , "lo" , "memory" );
76+ "$14" , "$15" , "$24" , "$25" ,
77+ VDSO_SYSCALL_CLOBBERS
78+ "memory" );
6979
7080 return error ? - ret : ret ;
7181}
@@ -89,7 +99,9 @@ static __always_inline int clock_getres_fallback(
8999 : "=r" (ret ), "=r" (error )
90100 : "r" (clkid ), "r" (ts ), "r" (nr )
91101 : "$1" , "$3" , "$8" , "$9" , "$10" , "$11" , "$12" , "$13" ,
92- "$14" , "$15" , "$24" , "$25" , "hi" , "lo" , "memory" );
102+ "$14" , "$15" , "$24" , "$25" ,
103+ VDSO_SYSCALL_CLOBBERS
104+ "memory" );
93105
94106 return error ? - ret : ret ;
95107}
@@ -113,7 +125,9 @@ static __always_inline long clock_gettime32_fallback(
113125 : "=r" (ret ), "=r" (error )
114126 : "r" (clkid ), "r" (ts ), "r" (nr )
115127 : "$1" , "$3" , "$8" , "$9" , "$10" , "$11" , "$12" , "$13" ,
116- "$14" , "$15" , "$24" , "$25" , "hi" , "lo" , "memory" );
128+ "$14" , "$15" , "$24" , "$25" ,
129+ VDSO_SYSCALL_CLOBBERS
130+ "memory" );
117131
118132 return error ? - ret : ret ;
119133}
@@ -133,7 +147,9 @@ static __always_inline int clock_getres32_fallback(
133147 : "=r" (ret ), "=r" (error )
134148 : "r" (clkid ), "r" (ts ), "r" (nr )
135149 : "$1" , "$3" , "$8" , "$9" , "$10" , "$11" , "$12" , "$13" ,
136- "$14" , "$15" , "$24" , "$25" , "hi" , "lo" , "memory" );
150+ "$14" , "$15" , "$24" , "$25" ,
151+ VDSO_SYSCALL_CLOBBERS
152+ "memory" );
137153
138154 return error ? - ret : ret ;
139155}
0 commit comments