public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: ld segfault at end of 2.6.6 compile
@ 2004-06-16 11:23 Geoff Mishkin
  2004-06-16 11:49 ` Harald Dunkel
  0 siblings, 1 reply; 9+ messages in thread
From: Geoff Mishkin @ 2004-06-16 11:23 UTC (permalink / raw)
  To: linux-kernel

I tried it again with linux-2.6.7-rc3, but got the same error.

My glibc version is 2.3.3.20040420.  The kernel still compiles fine on
my other machine.  I also compiled on the nonworking machine with the
same .config as the working one, and still got the same problem.

			--Geoff Mishkin <gmishkin@bu.edu>


^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: ld segfault at end of 2.6.6 compile
@ 2004-06-17  4:16 Geoff Mishkin
  0 siblings, 0 replies; 9+ messages in thread
From: Geoff Mishkin @ 2004-06-17  4:16 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 151 bytes --]

I've got some new information, this is the output of the ld command with
the -v option.  The original invocation is in my original post in this
topic.

[-- Attachment #2: ld_output.txt --]
[-- Type: text/plain, Size: 13514 bytes --]

GNU ld version 2.14.90.0.8 20040114
  Supported emulations:
   elf_i386
   i386linux
   elf_i386_glibc21
opened script file arch/i386/kernel/vmlinux.lds.s
using external linker script:
==================================================
/* ld script to make i386 Linux kernel
 * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>;
 */





/* Kernel version magic *//* Kernel symbol table: Normal symbols *//* Kernel symbol table: GPL-only symbols *//* Kernel symbol table: Normal symbols *//* Kernel symbol table: GPL-only symbols *//* Kernel symbol table: strings */





/* thread_info.h: i386 low-level thread information
 *
 * Copyright (C) 2002  David Howells (dhowells@redhat.com)
 * - Incorporating suggestions made by Linus Torvalds and Dave Miller
 */









/*
 * Automatically generated C config: don't edit
 */






/*
 * Code maturity level options
 */





/*
 * General setup
 */




















/*
 * Loadable module support
 */







/*
 * Processor type and features
 */


























































/*
 * Firmware Drivers
 */










/*
 * Power management options (ACPI, APM)
 */





/*
 * ACPI (Advanced Configuration and Power Interface) Support
 */





















/*
 * APM (Advanced Power Management) BIOS Support
 */


/*
 * CPU Frequency scaling
 */










/*
 * CPUFreq processor drivers
 */













/*
 * Bus options (PCI, PCMCIA, EISA, MCA, ISA)
 */
















/*
 * PCMCIA/CardBus support
 */









/*
 * PCI Hotplug Support
 */


/*
 * Executable file formats
 */




/*
 * Device Drivers
 */

/*
 * Generic Driver Options
 */


/*
 * Memory Technology Devices (MTD)
 */


/*
 * Parallel port support
 */










/*
 * Plug and Play support
 */


/*
 * Block devices
 */
















/*
 * ATA/ATAPI/MFM/RLL support
 */



/*
 * Please see Documentation/ide.txt for help/info on IDE drives
 */












/*
 * IDE chipset support/bugfixes
 */










































/*
 * SCSI device support
 */



/*
 * SCSI support type (disk, tape, CD-ROM)
 */






/*
 * Some SCSI devices (e.g. CD jukebox) support multiple LUNs
 */





/*
 * SCSI Transport Attributes
 */



/*
 * SCSI low-level drivers
 */



















































/*
 * PCMCIA SCSI adapter support
 */





/*
 * Old CD-ROM drivers (not SCSI, not IDE)
 */


/*
 * Multi-device support (RAID and LVM)
 */


/*
 * Fusion MPT device support
 */


/*
 * IEEE 1394 (FireWire) support
 */


/*
 * I2O device support
 */


/*
 * Networking support
 */


/*
 * Networking options
 */


















/*
 * IP: Virtual Server Configuration
 */





/*
 * IP: Netfilter Configuration
 */
























































/*
 * SCTP Configuration (EXPERIMENTAL)
 */
















/*
 * QoS and/or fair queueing
 */


























/*
 * Network testing
 */













/*
 * ARCnet devices
 */


/*
 * Ethernet (10 or 100Mbit)
 */


/*
 * Ethernet (1000 Mbit)
 */











/*
 * Ethernet (10000 Mbit)
 */



/*
 * Token Ring devices
 */


/*
 * Wireless LAN (non-hamradio)
 */


/*
 * Obsolete Wireless cards support (pre-802.11)
 */






/*
 * Wireless 802.11 Frequency Hopping cards support
 */


/*
 * Wireless 802.11b ISA/PCI cards support
 */




/*
 * Wireless 802.11b Pcmcia/Cardbus cards support
 */



/*
 * Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
 */



/*
 * PCMCIA network device support
 */


/*
 * Wan interfaces
 */


















/*
 * ISDN subsystem
 */


/*
 * Telephony Support
 */


/*
 * Input device support
 */


/*
 * Userland interfaces
 */









/*
 * Input I/O drivers
 */









/*
 * Input Device Drivers
 */



















/*
 * Character devices
 */





/*
 * Serial drivers
 */







/*
 * Non-8250 serial port support
 */









/*
 * IPMI
 */


/*
 * Watchdog Cards
 */









/*
 * Ftape, the floppy tape device driver
 */





















/*
 * PCMCIA character devices
 */





/*
 * I2C support
 */



/*
 * I2C Algorithms
 */



/*
 * I2C Hardware Bus support
 */























/*
 * Hardware Sensors Chip support
 */


















/*
 * Other I2C Chip support
 */








/*
 * Misc devices
 */


/*
 * Multimedia devices
 */


/*
 * Video For Linux
 */

/*
 * Video Adapters
 */

















/*
 * Radio Adapters
 */















/*
 * Digital Video Broadcasting Devices
 */


/*
 * Graphics support
 */
























/*
 * Console display driver support
 */





/*
 * Logo configuration
 */


/*
 * Sound
 */


/*
 * Advanced Linux Sound Architecture
 */














/*
 * Generic devices
 */







/*
 * ISA devices
 */























/*
 * PCI devices
 */




































/*
 * ALSA USB devices
 */


/*
 * PCMCIA devices
 */




/*
 * Open Sound System
 */


/*
 * USB support
 */



/*
 * Miscellaneous USB options
 */




/*
 * USB Host Controller Drivers
 */






/*
 * USB Device Class drivers
 */
















/*
 * USB Human Interface Devices (HID)
 */





/*
 * USB HID Boot Protocol drivers
 */










/*
 * USB Imaging devices
 */




/*
 * USB Multimedia devices
 */










/*
 * USB Network adaptors
 */






/*
 * USB port drivers
 */


/*
 * USB Serial Converter support
 */


/*
 * USB Miscellaneous drivers
 */











/*
 * USB Gadget Support
 */


/*
 * File systems
 */















/*
 * CD-ROM/DVD Filesystems
 */





/*
 * DOS/FAT/NT Filesystems
 */







/*
 * Pseudo filesystems
 */












/*
 * Miscellaneous filesystems
 */














/*
 * Network File Systems
 */





















/*
 * Partition Types
 */



/*
 * Native Language Support
 */








































/*
 * Profiling support
 */


/*
 * Kernel hacking
 */








/*
 * Security options
 */


/*
 * Cryptographic options
 */





















/*
 * Library routines
 */














/* PAGE_SHIFT determines the page size */








/* !__ASSEMBLY__ */

/* to align the pointer to the (next) page boundary */


/*
 * This handles the memory map.. We could make this a config
 * option, but too many people screw it up, and too few need
 * it.
 *
 * A __PAGE_OFFSET of 0xC0000000 means that the kernel has
 * a virtual address space of one gigabyte, which limits the
 * amount of physical memory you can use to about 950MB. 
 *
 * If you want more physical memory than this then see the CONFIG_HIGHMEM4G
 * and CONFIG_HIGHMEM64G options in the kernel configuration.
 */

/*
 * This much address space is reserved for vmalloc() and iomap()
 * as well as fixmap mappings.
 */


/* __ASSEMBLY__ */
















/* !CONFIG_DISCONTIGMEM */






/* __KERNEL__ */

/* _I386_PAGE_H */




/*
 * low level task data that entry.S needs immediate access to
 * - this struct should fit entirely inside of one cache line
 * - this struct shares the supervisor stack pages
 * - if the contents of this structure are changed, the assembly constants must also be changed
 */
/* !__ASSEMBLY__ */

/* offsets into the thread_info struct for assembly code access */

















/*
 * macros/functions for gaining access to the thread information structure
 *
 * preempt_count needs to be 1 initially, until the scheduler is functional.
 */
/* !__ASSEMBLY__ */

/* how to get the thread information struct from ASM */


/* use this one if reg already contains %esp */




/*
 * thread information flags
 * - these are process state flags that various assembly files may need to access
 * - pending work-to-be-done flags are in LSW
 * - other flags in MSW
 */


















/* work to do on interrupt/exception return */



/*
 * Thread-synchronous status.
 *
 * This is different from the flags in that nobody else
 * ever touches our thread-synchronous status, so we don't
 * have to worry about atomic accesses.
 */


/* __KERNEL__ */

/* _ASM_THREAD_INFO_H */


OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(startup_32)
jiffies = jiffies_64;
SECTIONS
{
  . = 0xC0000000 + 0x100000;
  /* read-only */
  _text = .;			/* Text and read-only data */
  .text : {
	*(.text)
	__scheduling_functions_start_here = .;	*(.sched.text)	__scheduling_functions_end_here = .;
	*(.fixup)
	*(.gnu.warning)
	} = 0x9090

  _etext = .;			/* End of text section */

  . = ALIGN(16);		/* Exception table */
  __start___ex_table = .;
  __ex_table : { *(__ex_table) }
  __stop___ex_table = .;

  .rodata           : AT(ADDR(.rodata) - 0) {	*(.rodata) *(.rodata.*)	*(__vermagic)			}	.rodata1          : AT(ADDR(.rodata1) - 0) {	*(.rodata1)	}		__ksymtab         : AT(ADDR(__ksymtab) - 0) {	__start___ksymtab = .;	*(__ksymtab)	__stop___ksymtab = .;	}		__ksymtab_gpl     : AT(ADDR(__ksymtab_gpl) - 0) {	__start___ksymtab_gpl = .;	*(__ksymtab_gpl)	__stop___ksymtab_gpl = .;	}		__kcrctab         : AT(ADDR(__kcrctab) - 0) {	__start___kcrctab = .;	*(__kcrctab)	__stop___kcrctab = .;	}		__kcrctab_gpl     : AT(ADDR(__kcrctab_gpl) - 0) {	__start___kcrctab_gpl = .;	*(__kcrctab_gpl)	__stop___kcrctab_gpl = .;	}		__ksymtab_strings : AT(ADDR(__ksymtab_strings) - 0) {	*(__ksymtab_strings)	}

  /* writeable */
  .data : {			/* Data */
	*(.data)
	CONSTRUCTORS
	}

  . = ALIGN(4096);
  __nosave_begin = .;
  .data_nosave : { *(.data.nosave) }
  . = ALIGN(4096);
  __nosave_end = .;

  . = ALIGN(4096);
  .data.page_aligned : { *(.data.idt) }

  . = ALIGN(32);
  .data.cacheline_aligned : { *(.data.cacheline_aligned) }

  _edata = .;			/* End of data section */

  . = ALIGN((8192));	/* init_task */
  .data.init_task : { *(.data.init_task) }

  /* will be freed after init */
  . = ALIGN(4096);		/* Init code and data */
  __init_begin = .;
  .init.text : { 
	_sinittext = .;
	*(.init.text)
	_einittext = .;
  }
  .init.data : { *(.init.data) }
  . = ALIGN(16);
  __setup_start = .;
  .init.setup : { *(.init.setup) }
  __setup_end = .;
  __start___param = .;
  __param : { *(__param) }
  __stop___param = .;
  __initcall_start = .;
  .initcall.init : {
	*(.initcall1.init) 
	*(.initcall2.init) 
	*(.initcall3.init) 
	*(.initcall4.init) 
	*(.initcall5.init) 
	*(.initcall6.init) 
	*(.initcall7.init)
  }
  __initcall_end = .;
  __con_initcall_start = .;
  .con_initcall.init : { *(.con_initcall.init) }
  __con_initcall_end = .;
  .security_initcall.init : {	__security_initcall_start = .;	*(.security_initcall.init) __security_initcall_end = .;	}
  . = ALIGN(4);
  __alt_instructions = .;
  .altinstructions : { *(.altinstructions) } 
  __alt_instructions_end = .; 
 .altinstr_replacement : { *(.altinstr_replacement) } 
  /* .exit.text is discard at runtime, not link time, to deal with references
     from .altinstructions and .eh_frame */
  .exit.text : { *(.exit.text) }
  .exit.data : { *(.exit.data) }
  . = ALIGN(4096);
  __initramfs_start = .;
  .init.ramfs : { *(.init.ramfs) }
  __initramfs_end = .;
  . = ALIGN(32);
  __per_cpu_start = .;
  .data.percpu  : { *(.data.percpu) }
  __per_cpu_end = .;
  . = ALIGN(4096);
  __init_end = .;
  /* freed after init ends here */
	
  __bss_start = .;		/* BSS */
  .bss : {
	*(.bss.page_aligned)
	*(.bss)
  }
  . = ALIGN(4);
  __bss_stop = .; 

  _end = . ;

  /* This is where the kernel creates the early boot page tables */
  . = ALIGN(4096);
  pg0 = .;

  /* Sections to be discarded */
  /DISCARD/ : {
	*(.exitcall.exit)
	}

  /* Stabs debugging sections.  */
  .stab 0 : { *(.stab) }
  .stabstr 0 : { *(.stabstr) }
  .stab.excl 0 : { *(.stab.excl) }
  .stab.exclstr 0 : { *(.stab.exclstr) }
  .stab.index 0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment 0 : { *(.comment) }
}

==================================================
attempt to open arch/i386/kernel/head.o succeeded
arch/i386/kernel/head.o
attempt to open arch/i386/kernel/init_task.o succeeded
arch/i386/kernel/init_task.o
attempt to open init/built-in.o succeeded
init/built-in.o
attempt to open usr/built-in.o succeeded
usr/built-in.o
attempt to open arch/i386/kernel/built-in.o succeeded
arch/i386/kernel/built-in.o
attempt to open arch/i386/mm/built-in.o succeeded
arch/i386/mm/built-in.o
attempt to open arch/i386/mach-default/built-in.o succeeded
arch/i386/mach-default/built-in.o
attempt to open kernel/built-in.o succeeded
kernel/built-in.o
attempt to open mm/built-in.o succeeded
mm/built-in.o
attempt to open fs/built-in.o succeeded
fs/built-in.o
attempt to open ipc/built-in.o succeeded
ipc/built-in.o
attempt to open security/built-in.o succeeded
security/built-in.o
attempt to open crypto/built-in.o succeeded
crypto/built-in.o
attempt to open lib/lib.a succeeded
(lib/lib.a)bitmap.o
(lib/lib.a)cmdline.o
(lib/lib.a)ctype.o
(lib/lib.a)errno.o
(lib/lib.a)extable.o
(lib/lib.a)idr.o
(lib/lib.a)int_sqrt.o
(lib/lib.a)kobject.o
(lib/lib.a)parser.o
(lib/lib.a)radix-tree.o
(lib/lib.a)rbtree.o
(lib/lib.a)rwsem.o
(lib/lib.a)string.o
(lib/lib.a)vsprintf.o
attempt to open arch/i386/lib/lib.a succeeded
(arch/i386/lib/lib.a)checksum.o
(arch/i386/lib/lib.a)dec_and_lock.o
(arch/i386/lib/lib.a)delay.o
(arch/i386/lib/lib.a)getuser.o
(arch/i386/lib/lib.a)memcpy.o
(arch/i386/lib/lib.a)strstr.o
(arch/i386/lib/lib.a)usercopy.o
attempt to open lib/built-in.o succeeded
lib/built-in.o
attempt to open arch/i386/lib/built-in.o succeeded
attempt to open drivers/built-in.o succeeded
drivers/built-in.o
attempt to open sound/built-in.o succeeded
attempt to open arch/i386/pci/built-in.o succeeded
arch/i386/pci/built-in.o
attempt to open arch/i386/power/built-in.o succeeded
arch/i386/power/built-in.o
attempt to open net/built-in.o succeeded
net/built-in.o

^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: ld segfault at end of 2.6.6 compile
@ 2004-06-16 12:43 Geoff Mishkin
  0 siblings, 0 replies; 9+ messages in thread
From: Geoff Mishkin @ 2004-06-16 12:43 UTC (permalink / raw)
  To: linux-kernel

The system has a gig of RAM and a gig of swap, so I don't think it's
running out of space.  Also, ld segfaults immediately after being
invoked, not midway through the link.

As for the memory check, it's a brand new system, but I'll run the check
anyway later today when I get a chance.

Thanks for the tips so far.

			--Geoff Mishkin <gmishkin@bu.edu>


^ permalink raw reply	[flat|nested] 9+ messages in thread
* ld segfault at end of 2.6.6 compile
@ 2004-06-16  2:24 Geoff Mishkin
  2004-06-16  6:13 ` Harald Dunkel
  0 siblings, 1 reply; 9+ messages in thread
From: Geoff Mishkin @ 2004-06-16  2:24 UTC (permalink / raw)
  To: linux-kernel

I'm getting the

make: *** [.tmp_vmlinux1] Error 139

problem with kernel 2.6.6.  It works fine on one of my computer, but not
the other.

The full line is

ld -m elf_i386  -T arch/i386/kernel/vmlinux.lds.s
arch/i386/kernel/head.o arch/i386/kernel/init_task.o   init/built-in.o
--start-group  usr/built-in.o arch/i386/kernel/built-in.o 
arch/i386/mm/built-in.o  arch/i386/mach-default/built-in.o 
kernel/built-in.o  mm/built-in.o  fs/built-in.o  ipc/built-in.o 
security/built-in.o  crypto/built-in.o  lib/lib.a  arch/i386/lib/lib.a 
lib/built-in.o  arch/i386/lib/built-in.o  drivers/built-in.o 
sound/built-in.o  arch/i386/pci/built-in.o  arch/i386/power/built-in.o 
net/built-in.o --end-group  -o .tmp_vmlinux1
make: *** [.tmp_vmlinux1] Error 139

Both are using gcc 2.95.3.  Both are using binutils version
2.14.90.0.8.  Both have the same module-init-tools version.  Etc., etc.,
etc.

The only difference is on the nonworking one, the processor type is
Pentium M instead of Pentium 4, and I'm using different video and
ethernet drivers because the two machines have different video and
ethernet cards :P.  The nonworking one is a laptop, if that makes a
difference.  I've got the enhanced SpeedStep option enabled for it.

I found a lot of stuff on Google about this problem, but a lot of it is
old and/or just tells you to upgrade to a 2.14 of binutils, which I
have.  I get this error if I use gcc3 as well.

			--Geoff Mishkin <gmishkin@bu.edu>


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2004-06-17  4:19 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-16 11:23 ld segfault at end of 2.6.6 compile Geoff Mishkin
2004-06-16 11:49 ` Harald Dunkel
  -- strict thread matches above, loose matches on Subject: below --
2004-06-17  4:16 Geoff Mishkin
2004-06-16 12:43 Geoff Mishkin
2004-06-16  2:24 Geoff Mishkin
2004-06-16  6:13 ` Harald Dunkel
2004-06-16 10:41   ` Geoff Mishkin
2004-06-16 12:01     ` Eric
     [not found]       ` <200406161935.55740.vda@port.imtp.ilyichevsk.odessa.ua>
2004-06-16 23:24         ` Geoff Mishkin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox