On Tue, Nov 27, 2001 at 06:00:22PM +0100, Johannes Stezenbach wrote:
> Hi,
>
> On Mon, Nov 26, 2001 at 09:28:59PM -0800, H . J . Lu wrote:
> > Please report any bugs related to binutils 2.11.92.0.12 to hjl@lucon.org.
>
> I tried to use binutils-2.11.92.0.12 with gcc-3.0.2 to compile
> the linux kernel from linux-mips.sourceforge.net for a VR4121 CPU
> (littel endian, target mipsel-linux).
>
> a) The linker chrashes trying to create the object file for the
> embedded initrd ramdisk:
>
> make CFLAGS="-I /home/js/MIPS/kernel/build/linux-2.4.14-mips/include/asm/gcc
> -D__KERNEL__ -I/home/js/MIPS/kernel/build/linux-2.4.14-mips/include -Wall
> -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
> -fno-strict-aliasing -fno-common -G 0 -mno-abicalls -fno-pic -mips2
> -Wa,-m4100,--trap -pipe " -C arch/mips/ramdisk
> make[1]: Entering directory
> `/home/js/MIPS/kernel/build/linux-2.4.14-mips/arch/mips/ramdisk'
> echo "O_FORMAT: " elf32-tradlittlemips
> O_FORMAT: elf32-tradlittlemips
> mipsel-linux-ld -G 0 -T ld.script -b binary --oformat elf32-tradlittlemips -o
> ramdisk.o ramdisk.gz
> make[1]: *** [ramdisk.o] Segmentation fault
> make[1]: *** Deleting file `ramdisk.o'
>
> The same ramdisk.gz worked with binutils-2.11.92.0.10. The ld.script is:
> OUTPUT_ARCH(mips)
> SECTIONS
> {
> .initrd :
> {
> *(.data)
> }
> }
>
>
I am going to check in this patch to fix it.
H.J.
----
2001-11-27 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_bfd_discard_info): Skip if the input bfd isn't
ELF.
Index: elflink.h
===================================================================
RCS file: /work/cvs/gnu/binutils/bfd/elflink.h,v
retrieving revision 1.96.2.1
diff -u -p -r1.96.2.1 elflink.h
--- elflink.h 2001/11/25 19:55:57 1.96.2.1
+++ elflink.h 2001/11/27 18:14:32
@@ -8079,6 +8079,9 @@ elf_bfd_discard_info (info)
return false;
for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link_next)
{
+ if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
+ continue;
+
bed = get_elf_backend_data (abfd);
if ((abfd->flags & DYNAMIC) != 0)
|