From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29677 invoked by alias); 11 Jun 2009 17:09:55 -0000 Received: (qmail 29668 invoked by uid 22791); 11 Jun 2009 17:09:53 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from mail.reciva.com (HELO crown.reciva.com) (82.71.203.194) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 11 Jun 2009 17:09:46 +0000 Received: from castle.reciva.com ([82.71.203.193] helo=lurch.internal.reciva.com) by crown.reciva.com with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1MEnmW-0006ot-9g for binutils@sourceware.org; Thu, 11 Jun 2009 18:09:40 +0100 Received: from mill.internal.reciva.com ([192.168.106.87] ident=pb) by lurch.internal.reciva.com with esmtp (Exim 4.63) (envelope-from ) id 1MEnmV-0007u9-Kv for binutils@sourceware.org; Thu, 11 Jun 2009 18:09:39 +0100 Subject: linker crash in arm stub generation From: Phil Blundell To: binutils@sourceware.org Content-Type: text/plain Date: Thu, 11 Jun 2009 17:09:00 -0000 Message-Id: <1244740179.21585.119.camel@mill.internal.reciva.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2009-06/txt/msg00181.txt.bz2 This testcase causes the linker (CVS head from a couple of days ago, arm-linuxgnueabi target) to segfault in arm_build_one_stub(): $ cat test1.s .cpu arm10tdmi .fpu softvfp .eabi_attribute 20, 1 .eabi_attribute 21, 1 .eabi_attribute 23, 3 .eabi_attribute 24, 1 .eabi_attribute 25, 1 .eabi_attribute 26, 2 .eabi_attribute 30, 2 .eabi_attribute 18, 4 .code 16 .file "t.c" .text .align 2 .global foo .code 16 .thumb_func .type foo, %function foo: @ sp needed for prologue bx lr .size foo, .-foo .ident "GCC: (GNU) 4.4.0" .section .note.GNU-stack,"",%progbits $ cat test2.s bl foo(PLT) $ ../gas/as-new -o test1.o test1.s $ ../gas/as-new -o test2.o test2.s $ ./ld-new -shared -o test1.so test1.o $ ./ld-new -shared test2.o test1.so Segmentation fault $ p.