The failing line in trampoline.S contains:
.long gdt-0xC0000000
The problem (seems to be) that 'gdt' has the value zero, so the result
of the subtraction is 0xFFFFFFFF40000000.
So why does 'gdt' have the value zero? That's the question/problem.
I'm using binutils 2.8.0.3, ld.so 1.8.10 and (I think) the proper
gcc/libs.
Regards,
George Byrkit
_______________________ ERROR TEXT AND CONFIG __________________
error with pre-patch-2.1.37-7.gz:
gcc -D__KERNEL__ -I/usr/src/linux-2.1.37/include -D__ASSEMBLY__
-D__SMP__
-traditional -c trampoline.S -o trampoline.o
/tmp/cca02290.s: Assembler messages:
/tmp/cca02290.s:118: Error: Value of ffffffff40000000 too large for
field of 4 bytes at 000000000000003d
make[1]: *** [trampoline.o] Error 1
make[1]: Leaving directory `/usr/src/linux-2.1.37/arch/i386/kernel'
make: *** [linuxsubdirs] Error 2
config file:
CONFIG_MODULES=y
CONFIG_KERNELD=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_M586=y
CONFIG_PNP_PARPORT=m
CONFIG_PNP=y
CONFIG_PNP_PARPORT_AUTOPROBE=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_TRITON=y
CONFIG_BLK_DEV_LOOP=m
CONFIG_INET=y
CONFIG_PATH_MTU_DISCOVERY=y
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_AIC7XXX=y
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_NET_ETHERNET=y
CONFIG_NET_EISA=y
CONFIG_DEC_ELCP=y
CONFIG_MINIX_FS=y
CONFIG_EXT2_FS=y
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_UMSDOS_FS=y
CONFIG_PROC_FS=y
CONFIG_SMB_FS=y
CONFIG_SMB_WIN95=y
CONFIG_ISO9660_FS=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_PRINTER=m
CONFIG_MOUSE=y
CONFIG_PSMOUSE=y
CONFIG_RTC=y
CONFIG_SOUND=m
CONFIG_SB=y
SBC_BASE=220
SBC_IRQ=7
SBC_DMA=1
SB_DMA2=5
SB_MPU_BASE=330
SB_MPU_IRQ=-1