Subject: Re: port-sun2/32389 (sun2 GENERIC is not buildable)
To: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
From: Christos Zoulas <christos@zoulas.com>
List: netbsd-bugs
Date: 01/13/2006 10:58:44
On Jan 14, 12:47am, tsutsui@ceres.dti.ne.jp (Izumi Tsutsui) wrote:
-- Subject: Re: port-sun2/32389 (sun2 GENERIC is not buildable)

| In article <20060113132549.CDD7956534@rebar.astron.com>
| christos@zoulas.com wrote:
| 
| > | fixed by he@.
| > 
| > But now it is not bootable... It vm_faults.
| 
| Actually, sun2 has required different functions for libkern and libc.
| 
| In the previous src/sys/lib/libkern/arch/m68k/Makefile.inc:
| ---
| .if defined(MACHINE_ARCH) && (${MACHINE_ARCH} == "m68000")
| SRCS+=  mulsi3.S divsi3.S udivsi3.S modsi3.S umodsi3.S
| SRCS+=  random.c
| random.o random.d: random.c
| .else
| SRCS+=  random.S
| .endif
| ---
| 
| but in src/lib/libc/arch/m68k/gen/Makefile.inc:
| ---
| # 68000-based machines build with a libgcc that includes
| # much of the (soft)float and integer support that would 
| # otherwise be compiled here.
| .if     (${MACHINE_ARCH} == "m68000" || ${MKSOFTFLOAT} == "yes")
| SRCS+=  modf_ieee754.c                  # generic ieee754 version
| SRCS+=  flt_rounds_softfloat.S
| .else
| SRCS+=  modf.S
| SRCS+=  flt_rounds.S fpgetmask.S fpgetround.S fpgetsticky.S fpsetmask.S \
|         fpsetround.S fpsetsticky.S
| SRCS+=  adddf3.S addsf3.S cmpdf2.S cmpsf2.S divdf3.S \
|         divsf3.S divsi3.S extendsfdf2.S fixdfsi.S fixunsdfsi.S \
|         floatsidf.S modsi3.S muldf3.S mulsf3.S mulsi3.S \
|         subdf3.S subsf3.S truncdfsf2.S udivsi3.S \
|         umodsi3.S umulsi3.S
| .endif
| ---
| 
| I have no idea how to handle this in src/common, though.

We did that by conditionally compiling the files based on __mc68010__...
Perhaps we missed something? Can you take a look?

christos