Subject: port-m68k/5060: duplicate definition if memcpy in m68k
To: None <gnats-bugs@gnats.netbsd.org>
From: Erik Bertelsen <erik@erik-be.uni-c.dk>
List: netbsd-bugs
Date: 02/24/1998 21:06:41
>Number:         5060
>Category:       port-m68k
>Synopsis:       duplicate definition if memcpy in m68k
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Feb 24 11:05:00 1998
>Last-Modified:
>Originator:     Erik Bertelsen
>Organization:
	
>Release:        NetBSD-current 24 Feb 1998
>Environment:
	
System: NetBSD erik-be.uni-c.dk 1.3D NetBSD 1.3D (ERIKBE) #85: Sat Feb 21 14:36:04 MET 1998 erik@erik-be.uni-c.dk:/sw/NetBSD/src/sys/arch/i386/compile/ERIKBE i386


>Description:
	Building a -current kernel on mac68k (i suspect all m68k ports),
	the linking is aborted because of memcpy being duplicated.
	Libkern has recently been upgraded, and now libkern.h declares
	memcpy (since 22 feb 1998) and memcpy.S has been added to
	libkern/m68k.
	However, arch/m68k/m68k/bcopy.s is still present with a definition
	of memcpy.
>How-To-Repeat:
	
>Fix:

The following patch should not (!) be applied, but with this patch,
the kernel builds and I'm running it while typing this ...

regards -
Erik Bertelsen

Index: bcopy.s
===================================================================
RCS file: /home/cvs-base/src/sys/arch/m68k/m68k/bcopy.s,v
retrieving revision 1.1.1.1
diff -c -r1.1.1.1 bcopy.s
*** bcopy.s     1997/03/18 23:34:49     1.1.1.1
--- bcopy.s     1998/02/24 18:29:49
***************
*** 53,60 ****
   *
   * Works for counts up to 128K.
   */
! ALTENTRY(memmove, _memcpy)
! ENTRY(memcpy)
	movl    sp@(12),d0              | get count
	 jeq     Lbccpyexit              | if zero, return
	 movl    sp@(8), a0              | src address
	 --- 53,60 ----
    *
    * Works for counts up to 128K.
  */
! ALTENTRY(memmove, _xmemcpy)
 ! ENTRY(xmemcpy)
	  movl    sp@(12),d0              | get count
	  jeq     Lbccpyexit              | if zero, return
	  movl    sp@(8), a0              | src address
>Audit-Trail:
>Unformatted: