Subject: Re: compile kernel with gcc-2.7.1
To: None <clarence@cs.cuhk.hk>
From: Niklas Hallqvist <niklas@appli.se>
List: current-users
Date: 11/23/1995 10:27:33
>>>>> "Clarence" == CHAN Yiu Wah <clarence@cs.cuhk.hk> writes:

Clarence> Hello, I had previous sent out a meesage about the kernel
Clarence> making under gcc-2.7.1 and I got the answer. But I just
Clarence> erase the mail incidentlly.  Would anyone send me the mail
Clarence> about the fixing of the following error please ?

Oops, haven't I reported this one?  I've had this fixed for quite some
time locally.  It could be in the GCC-2.7.1 PR I sent at the time...

Niklas

revision 1.1.1.3.2.1
date: 1995/10/04 06:56:47;  author: niklas;  state: Exp;  lines: +6 -6
Fix inconsistent asm constraints

Index: pio.h
===================================================================
RCS file: /u3/CVSROOT/NetBSD/src/sys/arch/i386/include/pio.h,v
retrieving revision 1.1.1.3
retrieving revision 1.1.1.3.2.1
diff -c -r1.1.1.3 -r1.1.1.3.2.1
*** pio.h	1995/07/19 17:35:02	1.1.1.3
--- pio.h	1995/10/04 06:56:47	1.1.1.3.2.1
***************
*** 57,63 ****
  __inbc(int port)
  {
  	u_char	data;
! 	__asm __volatile("inb %1,%0" : "=a" (data) : "i" (port));
  	return data;
  }
  
--- 57,63 ----
  __inbc(int port)
  {
  	u_char	data;
! 	__asm __volatile("inb %1,%0" : "=a" (data) : "id" (port));
  	return data;
  }
  
***************
*** 85,91 ****
  __inwc(int port)
  {
  	u_short	data;
! 	__asm __volatile("inw %1,%0" : "=a" (data) : "i" (port));
  	return data;
  }
  
--- 85,91 ----
  __inwc(int port)
  {
  	u_short	data;
! 	__asm __volatile("inw %1,%0" : "=a" (data) : "id" (port));
  	return data;
  }
  
***************
*** 113,119 ****
  __inlc(int port)
  {
  	u_int	data;
! 	__asm __volatile("inl %1,%0" : "=a" (data) : "i" (port));
  	return data;
  }
  
--- 113,119 ----
  __inlc(int port)
  {
  	u_int	data;
! 	__asm __volatile("inl %1,%0" : "=a" (data) : "id" (port));
  	return data;
  }
  
***************
*** 140,146 ****
  static __inline void
  __outbc(int port, u_char data)
  {
! 	__asm __volatile("outb %0,%1" : : "a" (data), "i" (port));
  }
  
  static __inline void
--- 140,146 ----
  static __inline void
  __outbc(int port, u_char data)
  {
! 	__asm __volatile("outb %0,%1" : : "a" (data), "id" (port));
  }
  
  static __inline void
***************
*** 164,170 ****
  static __inline void
  __outwc(int port, u_short data)
  {
! 	__asm __volatile("outw %0,%1" : : "a" (data), "i" (port));
  }
  
  static __inline void
--- 164,170 ----
  static __inline void
  __outwc(int port, u_short data)
  {
! 	__asm __volatile("outw %0,%1" : : "a" (data), "id" (port));
  }
  
  static __inline void
***************
*** 188,194 ****
  static __inline void
  __outlc(int port, u_int data)
  {
! 	__asm __volatile("outl %0,%1" : : "a" (data), "i" (port));
  }
  
  static __inline void
--- 188,194 ----
  static __inline void
  __outlc(int port, u_int data)
  {
! 	__asm __volatile("outl %0,%1" : : "a" (data), "id" (port));
  }
  
  static __inline void