Re: Where is sparc64-linux-ld?

1999-09-08 Thread Samuel Tardieu
On  7/09, Eric Delaunay wrote:

| PS: I have had troubles compiling VORTEX (3c59x) & QLOGIC ISP support (egcs64
| segfault).  I needed to disable them.

I use a "special" patch around those two files: #if 0 ... #endif :)


Re: Where is sparc64-linux-ld?

1999-09-07 Thread Ben Collins
On Tue, Sep 07, 1999 at 09:37:58PM +0200, Eric Delaunay wrote:
> In case you would be interrested in, I attached both sparc32 & sparc64 config
> files I used to build my kernels.

That's great, just send me .config files, and I can compile them any time
you need them.

> PS: I have had troubles compiling VORTEX (3c59x) & QLOGIC ISP support (egcs64
> segfault).  I needed to disable them.

I can get them compiled, so I will enable them in this build.

Ben


Re: Where is sparc64-linux-ld?

1999-09-07 Thread Eric Delaunay
Ben Collins wrote:
> On Mon, Sep 06, 1999 at 09:39:54PM +0200, Eric Delaunay wrote:
> > Now I compiled a ultrasparc kernel but I don't have any chance to test it
> > because I don't have access to a ultrasparc neither at home nor at my 
> > office :-((
> > Could you help me, or anybody else, doing a trial run to see if it ever 
> > works ?
> > I can upload it somewhere to make it available to you.
> 
> I could try it. Question, are you simply working on bootdisks? I was going to 
> compile
> a set of 2.2.12 kernels tonight to upload for sparc/sparc64.

Yes, there was no 2.2 kernels suitable for bootdisks so I tried to build them.
Since I cannot check whether my 2.2.12 package works, I would rather like to
base my next bootdisks on your forthcoming upload.
However, before you upload them, make sure you get the following features at
least:

- for sparc32 :
 - CDROM, ISO9660, INITRD, LOOPBACK, SERIAL CONSOLE
 - NFSROOT, RARP+BOOTP (I don't remember if such feature still exists in
   2.2.12 kernel; I took a look at the config file then saw no references
   to them ;-( ).
 - no PCI support

- for sparc64 :
 - CDROM, ISO9660, INITRD, LOOPBACK, SERIAL CONSOLE
 - PCI support
 - no NFSROOT support (Steve D. reported back to me it slowdown the boot
   process).

In case you would be interrested in, I attached both sparc32 & sparc64 config
files I used to build my kernels.

Regards.

PS: I have had troubles compiling VORTEX (3c59x) & QLOGIC ISP support (egcs64
segfault).  I needed to disable them.

-- 
 Eric Delaunay | "La guerre justifie l'existence des militaires.
 [EMAIL PROTECTED] | En les supprimant." Henri Jeanson (1900-1970)
#
# Automatically generated by make menuconfig: don't edit
#

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y

#
# General setup
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
# CONFIG_AP1000 is not set
# CONFIG_SMP is not set
# CONFIG_SUN4 is not set
# CONFIG_PCI is not set

#
# Console drivers
#
CONFIG_PROM_CONSOLE=y
CONFIG_FB=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FB_SBUS=y
CONFIG_FB_CGSIX=y
CONFIG_FB_BWTWO=y
CONFIG_FB_CGTHREE=y
CONFIG_FB_TCX=y
CONFIG_FB_CGFOURTEEN=y
CONFIG_FB_LEO=y
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FBCON_ADVANCED is not set
CONFIG_FBCON_MFB=y
CONFIG_FBCON_CFB8=y
CONFIG_FBCON_FONTWIDTH8_ONLY=y
CONFIG_FONT_SUN8x16=y
# CONFIG_FBCON_FONTS is not set
CONFIG_SBUS=y
CONFIG_SBUSCHAR=y
CONFIG_SUN_MOUSE=y
CONFIG_SERIAL=y
CONFIG_SUN_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
CONFIG_SUN_KEYBOARD=y
CONFIG_SUN_CONSOLE=y
CONFIG_SUN_AUXIO=y
CONFIG_SUN_IO=y
CONFIG_SUN_OPENPROMIO=m
CONFIG_SUN_MOSTEK_RTC=y
# CONFIG_SUN_BPP is not set
# CONFIG_SUN_VIDEOPIX is not set
# CONFIG_SUN_AURORA is not set
# CONFIG_SPARCAUDIO is not set
# CONFIG_SPARCAUDIO_AMD7930 is not set
# CONFIG_SPARCAUDIO_CS4231 is not set
# CONFIG_SPARCAUDIO_DBRI is not set
# CONFIG_SPARCAUDIO_DUMMY is not set
CONFIG_SUN_OPENPROMFS=m
CONFIG_NET=y
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m
# CONFIG_BINFMT_JAVA is not set

#
# Floppy, IDE, and other block devices
#
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=m
CONFIG_MD_STRIPED=m
CONFIG_MD_MIRRORING=m
CONFIG_MD_RAID5=m
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_NBD=m

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y
# CONFIG_NETLINK_DEV is not set
# CONFIG_FIREWALL is not set
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_IP_ROUTER is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_IP_ALIAS is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_RARP=m
CONFIG_SKB_LARGE=y
CONFIG_IPV6=m
CONFIG_IPV6_EUI64=y
CONFIG_IPV6_NO_PB=y
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_BRIDGE is not set
# CONFIG_LLC is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
# CONFIG_CPU_IS_SLOW is not set

#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# SCSI support
#
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y

#
# SCSI low-level drivers
#
CONFIG_SCSI_SUNESP=y
CONFIG_SCSI_QLOGICPTI=m

#
# Fibre Channel support
#
CONFIG_FC4=m
CONFIG_FC4_SOC=m
CONFIG_FC4_SOCAL=m
CONFIG_SCSI_PLUTO=m
CONFIG_SCSI_FCAL=m

#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_PPP=m
CONFIG_SLIP=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
# CONFIG_SLIP_MODE_SLIP6 is not set
CONFIG_SUNLANCE=y
CONFIG_HAPPYMEAL=y

Re: Where is sparc64-linux-ld?

1999-09-06 Thread Ben Collins
On Mon, Sep 06, 1999 at 09:39:54PM +0200, Eric Delaunay wrote:
> Ben Collins wrote:
> > On Sun, Sep 05, 1999 at 11:38:47PM +0200, Eric Delaunay wrote:
> > > Not really useful (could be ln -s /usr/sparc-linux . ?)
> > > In effect, ld on sparc32 arch tries to create sparc32 binaries, not 
> > > sparc64
> > > ones unless "-m elf64_sparc" is provided on the command line.
> > > The makefiles in linux kernel sources tree don't call ld like above but 
> > > just
> > > sparc64-linux-ld.  Therefore I have had to replace the link with a script 
> > > to
> > > put the -m argument in front of the command line.
> > 
> > I'm using kernel-package and the only thing I have linked is 
> > /usr/sparc-linux to "."
> > else when supplying elf64_sparc, it can't find the linker scripts (bug in 
> > binutils
> > IMO). The names of the bintutils that the kernel looks for for sparc64 is 
> > just a side
> > affect of how the people doing the development had their systems setup 
> > (which is why
> > kernel-package passes args to the make to overrride the defaults so that it 
> > works
> > properly, except for the sparc-linux link). However on my system, even the 
> > standard
> > kernel make adds -melf64_sparc to the linker command line.
> 
> Which version of kernel-package are you using ?
> I installed 6.23 from potato because the one from slink does not support
> --subarch=sun4u very well.

Potato's

> About the -melf64_sparc option passed to the linker, I will check that next
> time I will build a kernel.
> 
> Now I compiled a ultrasparc kernel but I don't have any chance to test it
> because I don't have access to a ultrasparc neither at home nor at my office 
> :-((
> Could you help me, or anybody else, doing a trial run to see if it ever works 
> ?
> I can upload it somewhere to make it available to you.

I could try it. Question, are you simply working on bootdisks? I was going to 
compile
a set of 2.2.12 kernels tonight to upload for sparc/sparc64.

Ben


Re: Where is sparc64-linux-ld?

1999-09-06 Thread Eric Delaunay
Ben Collins wrote:
> On Sun, Sep 05, 1999 at 11:38:47PM +0200, Eric Delaunay wrote:
> > Not really useful (could be ln -s /usr/sparc-linux . ?)
> > In effect, ld on sparc32 arch tries to create sparc32 binaries, not sparc64
> > ones unless "-m elf64_sparc" is provided on the command line.
> > The makefiles in linux kernel sources tree don't call ld like above but just
> > sparc64-linux-ld.  Therefore I have had to replace the link with a script to
> > put the -m argument in front of the command line.
> 
> I'm using kernel-package and the only thing I have linked is /usr/sparc-linux 
> to "."
> else when supplying elf64_sparc, it can't find the linker scripts (bug in 
> binutils
> IMO). The names of the bintutils that the kernel looks for for sparc64 is 
> just a side
> affect of how the people doing the development had their systems setup (which 
> is why
> kernel-package passes args to the make to overrride the defaults so that it 
> works
> properly, except for the sparc-linux link). However on my system, even the 
> standard
> kernel make adds -melf64_sparc to the linker command line.

Which version of kernel-package are you using ?
I installed 6.23 from potato because the one from slink does not support
--subarch=sun4u very well.

About the -melf64_sparc option passed to the linker, I will check that next
time I will build a kernel.

Now I compiled a ultrasparc kernel but I don't have any chance to test it
because I don't have access to a ultrasparc neither at home nor at my office 
:-((
Could you help me, or anybody else, doing a trial run to see if it ever works ?
I can upload it somewhere to make it available to you.

Regards.

-- 
 Eric Delaunay | "La guerre justifie l'existence des militaires.
 [EMAIL PROTECTED] | En les supprimant." Henri Jeanson (1900-1970)


Re: Where is sparc64-linux-ld?

1999-09-05 Thread Ben Collins
On Sun, Sep 05, 1999 at 11:38:47PM +0200, Eric Delaunay wrote:
> Not really useful (could be ln -s /usr/sparc-linux . ?)
> In effect, ld on sparc32 arch tries to create sparc32 binaries, not sparc64
> ones unless "-m elf64_sparc" is provided on the command line.
> The makefiles in linux kernel sources tree don't call ld like above but just
> sparc64-linux-ld.  Therefore I have had to replace the link with a script to
> put the -m argument in front of the command line.

I'm using kernel-package and the only thing I have linked is /usr/sparc-linux 
to "."
else when supplying elf64_sparc, it can't find the linker scripts (bug in 
binutils
IMO). The names of the bintutils that the kernel looks for for sparc64 is just 
a side
affect of how the people doing the development had their systems setup (which 
is why
kernel-package passes args to the make to overrride the defaults so that it 
works
properly, except for the sparc-linux link). However on my system, even the 
standard
kernel make adds -melf64_sparc to the linker command line.

> I could say this a bug because sparc64-linux-ld should always create sparc64
> binaries, not sparc32 ones by default, unless -m elf32_sparc is provided on 
> the
> command line.
> I don't know however where to fix it: no package provide sparc64-linux-xxx
> alternatives yet (good candidate could be egcs64).

Once I get this gcc setup, egcs64 will soon become obsolete. Until then it 
should
serve to build sparc64 kernels (using the sparc-linux link and kernel-package).

Ben


Re: Where is sparc64-linux-ld?

1999-09-05 Thread Eric Delaunay
Ben Collins wrote:
> On Sun, Sep 05, 1999 at 05:27:03PM +0200, Eric Delaunay wrote:
> > Ben Collins wrote:
> > > On Fri, Aug 13, 1999 at 08:51:35PM +0200, Samuel Tardieu wrote:
> > > > When recompiling a kernel with "make-kpkg --arch sparc64 ..." on an
> > > > Ultra5:
> > > > 
> > > > sparc64-linux-ld  -r -o kernel.o signal.o ksyms.o sched.o dma.o fork.o 
> > > > exec_domain.o panic.o printk.o sys.o module.o exit.o itimer.o info.o 
> > > > time.o softirq.o resource.o sysctl.o acct.o capability.o kmod.o
> > > > make[3]: sparc64-linux-ld: Command not found
> > > > 
> > > > Where can I find it?
> > > 
> > > as root:
> > > ln -s ld /usr/bin/sparc64-linux-ld
> > > ln -s as /usr/bin/sparc64-linux-as
> > 
> > The next one is ar.
> 
> The actual fix for ld is to symlink /usr/sparc-linux to .
> 
> ln -s . /usr/sparc-linux
> 
> This allows ld to find the correct linker scripts.

Not really useful (could be ln -s /usr/sparc-linux . ?)
In effect, ld on sparc32 arch tries to create sparc32 binaries, not sparc64
ones unless "-m elf64_sparc" is provided on the command line.
The makefiles in linux kernel sources tree don't call ld like above but just
sparc64-linux-ld.  Therefore I have had to replace the link with a script to
put the -m argument in front of the command line.

I could say this a bug because sparc64-linux-ld should always create sparc64
binaries, not sparc32 ones by default, unless -m elf32_sparc is provided on the
command line.
I don't know however where to fix it: no package provide sparc64-linux-xxx
alternatives yet (good candidate could be egcs64).

Regards.

PS: I forgot nm -> sparc64-linux-nm in the list above.

-- 
 Eric Delaunay | "La guerre justifie l'existence des militaires.
 [EMAIL PROTECTED] | En les supprimant." Henri Jeanson (1900-1970)


Re: Where is sparc64-linux-ld?

1999-09-05 Thread Ben Collins
On Sun, Sep 05, 1999 at 05:27:03PM +0200, Eric Delaunay wrote:
> Ben Collins wrote:
> > On Fri, Aug 13, 1999 at 08:51:35PM +0200, Samuel Tardieu wrote:
> > > When recompiling a kernel with "make-kpkg --arch sparc64 ..." on an
> > > Ultra5:
> > > 
> > > sparc64-linux-ld  -r -o kernel.o signal.o ksyms.o sched.o dma.o fork.o 
> > > exec_domain.o panic.o printk.o sys.o module.o exit.o itimer.o info.o 
> > > time.o softirq.o resource.o sysctl.o acct.o capability.o kmod.o
> > > make[3]: sparc64-linux-ld: Command not found
> > > 
> > > Where can I find it?
> > 
> > as root:
> > ln -s ld /usr/bin/sparc64-linux-ld
> > ln -s as /usr/bin/sparc64-linux-as
> 
> The next one is ar.

The actual fix for ld is to symlink /usr/sparc-linux to .

ln -s . /usr/sparc-linux

This allows ld to find the correct linker scripts.


Re: Where is sparc64-linux-ld?

1999-09-05 Thread Eric Delaunay
Ben Collins wrote:
> On Fri, Aug 13, 1999 at 08:51:35PM +0200, Samuel Tardieu wrote:
> > When recompiling a kernel with "make-kpkg --arch sparc64 ..." on an
> > Ultra5:
> > 
> > sparc64-linux-ld  -r -o kernel.o signal.o ksyms.o sched.o dma.o fork.o 
> > exec_domain.o panic.o printk.o sys.o module.o exit.o itimer.o info.o time.o 
> > softirq.o resource.o sysctl.o acct.o capability.o kmod.o
> > make[3]: sparc64-linux-ld: Command not found
> > 
> > Where can I find it?
> 
> as root:
> ln -s ld /usr/bin/sparc64-linux-ld
> ln -s as /usr/bin/sparc64-linux-as

The next one is ar.

> The ld that comes with binutils will handle elf64, but for some reason,
> the kernel looks for ld with the sparc64-linux- prefix.

Hmm, on sparc32 arch, after I made the appropriate link, ld is giving me the
following error.

sparc64-linux-ld  -r -o kernel.o signal.o ksyms.o sched.o dma.o fork.o 
exec_domain.o panic.o printk.o sys.o module.o exit.o itimer.o info.o time.o 
softirq.o resource.o sysctl.o acct.o capability.o kmod.o
sparc64-linux-ld: warning: sparc:v9 architecture of input file `signal.o' is 
incompatible with sparc output
sparc64-linux-ld: warning: sparc:v9 architecture of input file `ksyms.o' is 
incompatible with sparc output
sparc64-linux-ld: warning: sparc:v9a architecture of input file `sched.o' is 
incompatible with sparc output
...
make[3]: *** [kernel.o] Segmentation fault

I have had to replace sparc64-linux-ld with this script to work:

#!/bin/sh
ld -m elf64_sparc -b elf64-sparc "$@"

Note that I just installed egcs64 from potato on a slink machine.  I didn't
upgrade binutils.  It could be the problem here.

> NOTE: if you want to build sparc64 kernels with kernel-package, use this
> format:
> 
> make-kpkg --subarch=sun4u --arch_in_name ...

But you need kernel-package from potato.  Slink is still using the old style.

Regards

-- 
 Eric Delaunay | "La guerre justifie l'existence des militaires.
 [EMAIL PROTECTED] | En les supprimant." Henri Jeanson (1900-1970)


Re: Where is sparc64-linux-ld?

1999-08-13 Thread Ben Collins
On Fri, Aug 13, 1999 at 08:51:35PM +0200, Samuel Tardieu wrote:
> When recompiling a kernel with "make-kpkg --arch sparc64 ..." on an
> Ultra5:
> 
> sparc64-linux-ld  -r -o kernel.o signal.o ksyms.o sched.o dma.o fork.o 
> exec_domain.o panic.o printk.o sys.o module.o exit.o itimer.o info.o time.o 
> softirq.o resource.o sysctl.o acct.o capability.o kmod.o
> make[3]: sparc64-linux-ld: Command not found
> 
> Where can I find it?

as root:
ln -s ld /usr/bin/sparc64-linux-ld
ln -s as /usr/bin/sparc64-linux-as

The ld that comes with binutils will handle elf64, but for some reason,
the kernel looks for ld with the sparc64-linux- prefix.

NOTE: if you want to build sparc64 kernels with kernel-package, use this
format:

make-kpkg --subarch=sun4u --arch_in_name ...

This is the way that kernel-package expects it, and the way it was
intended to compile (which also includes the -sun4u extension to the
package anem).

Ben