Commit be98f1f82290118e176b704fd270f552c3d6a35a

Authored by bellard
1 parent e160c51c

compilation fixes


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3585 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 20 additions and 17 deletions
tests/test-i386.c
... ... @@ -703,8 +703,8 @@ union float64u {
703 703 uint64_t l;
704 704 };
705 705  
706   -union float64u q_nan = { .l = 0xFFF8000000000000 };
707   -union float64u s_nan = { .l = 0xFFF0000000000000 };
  706 +union float64u q_nan = { .l = 0xFFF8000000000000LL };
  707 +union float64u s_nan = { .l = 0xFFF0000000000000LL };
708 708  
709 709 void test_fops(double a, double b)
710 710 {
... ... @@ -819,7 +819,9 @@ void test_fcvt(double a)
819 819 /* test all roundings */
820 820 asm volatile ("fstcw %0" : "=m" (fpuc));
821 821 for(i=0;i<4;i++) {
822   - asm volatile ("fldcw %0" : : "m" ((fpuc & ~0x0c00) | (i << 10)));
  822 + uint16_t val16;
  823 + val16 = (fpuc & ~0x0c00) | (i << 10);
  824 + asm volatile ("fldcw %0" : : "m" (val16));
823 825 asm volatile ("fist %0" : "=m" (wa) : "t" (a));
824 826 asm volatile ("fistl %0" : "=m" (ia) : "t" (a));
825 827 asm volatile ("fistpll %0" : "=m" (lla) : "t" (a) : "st");
... ... @@ -976,8 +978,8 @@ void test_floats(void)
976 978 test_fcvt(1.0/0.0);
977 979 test_fcvt(q_nan.d);
978 980 test_fconst();
979   - test_fbcd(1234567890123456);
980   - test_fbcd(-123451234567890);
  981 + test_fbcd(1234567890123456.0);
  982 + test_fbcd(-123451234567890.0);
981 983 test_fenv();
982 984 if (TEST_CMOV) {
983 985 test_fcmov();
... ... @@ -1151,12 +1153,12 @@ void test_xchg(void)
1151 1153 long i, eflags;
1152 1154  
1153 1155 for(i = 0; i < 2; i++) {
1154   - op0 = 0x123456789abcd;
  1156 + op0 = 0x123456789abcdLL;
1155 1157 if (i == 0)
1156   - op1 = 0xfbca765423456;
  1158 + op1 = 0xfbca765423456LL;
1157 1159 else
1158 1160 op1 = op0;
1159   - op2 = 0x6532432432434;
  1161 + op2 = 0x6532432432434LL;
1160 1162 asm("cmpxchg8b %1\n"
1161 1163 "pushf\n"
1162 1164 "pop %2\n"
... ... @@ -1172,11 +1174,15 @@ void test_xchg(void)
1172 1174 /**********************************************/
1173 1175 /* segmentation tests */
1174 1176  
  1177 +#include <sys/syscall.h>
  1178 +#include <unistd.h>
1175 1179 #include <asm/ldt.h>
1176   -#include <linux/unistd.h>
1177 1180 #include <linux/version.h>
1178 1181  
1179   -_syscall3(int, modify_ldt, int, func, void *, ptr, unsigned long, bytecount)
  1182 +static inline int modify_ldt(int func, void * ptr, unsigned long bytecount)
  1183 +{
  1184 + return syscall(__NR_modify_ldt, func, ptr, bytecount);
  1185 +}
1180 1186  
1181 1187 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 66)
1182 1188 #define modify_ldt_ldt_s user_desc
... ... @@ -1505,13 +1511,10 @@ static inline void pushw(struct vm86_regs *r, int val)
1505 1511 *(uint16_t *)seg_to_linear(r->ss, r->esp) = val;
1506 1512 }
1507 1513  
1508   -#undef __syscall_return
1509   -#define __syscall_return(type, res) \
1510   -do { \
1511   - return (type) (res); \
1512   -} while (0)
1513   -
1514   -_syscall2(int, vm86, int, func, struct vm86plus_struct *, v86)
  1514 +static inline int vm86(int func, struct vm86plus_struct *v86)
  1515 +{
  1516 + return syscall(__NR_vm86, func, v86);
  1517 +}
1515 1518  
1516 1519 extern char vm86_code_start;
1517 1520 extern char vm86_code_end;
... ...