From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23383 invoked by alias); 12 Jan 2015 00:39:03 -0000 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 Received: (qmail 23368 invoked by uid 89); 12 Jan 2015 00:39:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-pd0-f181.google.com Received: from mail-pd0-f181.google.com (HELO mail-pd0-f181.google.com) (209.85.192.181) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 12 Jan 2015 00:39:00 +0000 Received: by mail-pd0-f181.google.com with SMTP id v10so27495912pde.12 for ; Sun, 11 Jan 2015 16:38:58 -0800 (PST) X-Received: by 10.70.15.196 with SMTP id z4mr29763376pdc.20.1421023138793; Sun, 11 Jan 2015 16:38:58 -0800 (PST) Received: from bubble.grove.modra.org ([58.160.155.134]) by mx.google.com with ESMTPSA id ds16sm12709076pdb.65.2015.01.11.16.38.57 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 11 Jan 2015 16:38:58 -0800 (PST) Received: by bubble.grove.modra.org (Postfix, from userid 1000) id 5C8DDEAC84C; Mon, 12 Jan 2015 11:08:53 +1030 (ACDT) Date: Mon, 12 Jan 2015 00:39:00 -0000 From: Alan Modra To: Andrew Burgess Cc: binutils@sourceware.org, Hans-Peter Nilsson Subject: Re: [PATCH 2/2] ld: Don't evaluate unneeded PROVIDE expressions. Message-ID: <20150112003853.GD23768@bubble.grove.modra.org> Mail-Followup-To: Andrew Burgess , binutils@sourceware.org, Hans-Peter Nilsson References: <3d30f0e7bfaf420b6a4d64a818db85700c4fc083.1420631791.git.andrew.burgess@embecosm.com> <20150108101756.GG3103@embecosm.com> <20150108200304.GM3103@embecosm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150108200304.GM3103@embecosm.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-IsSubscribed: yes X-SW-Source: 2015-01/txt/msg00132.txt.bz2 On Thu, Jan 08, 2015 at 08:03:04PM +0000, Andrew Burgess wrote: > ld/ChangeLog: > > * ldlang.c (print_assignment): Only evaluate the expression for a > PROVIDE'd assignment when the destination is being defined. > Display a special message for PROVIDE'd symbols that are not being > provided. This is OK. > ld/testsuite/ChangeLog: > > * ld-scripts/provide-4.d: New file. > * ld-scripts/provide-4-map.d: New file. > * ld-scripts/provide-4.t: New file. > * ld-scripts/provide.exp: Run the provide-4.d test. This part isn't OK yet. You need to make sure new tests pass on more than just Linux x86. I could see this would fail so applied your patches and gave my usual set of targets a whirl, results below. To fix this you can either restrict the set of targets tested (the lazy option), or relax the .d file matching to the minimum you need to verify the feature being tested. aarch64-linux +FAIL: ld-scripts/provide-4 (map file check) alpha-dec-vms +FAIL: ld-scripts/provide-4 alpha-linux +FAIL: ld-scripts/provide-4 (map file check) alpha-linuxecoff +FAIL: ld-scripts/provide-4 (map file check) alpha-netbsd +FAIL: ld-scripts/provide-4 (map file check) alpha-unknown-freebsd4.7 +FAIL: ld-scripts/provide-4 (map file check) am33_2.0-linux +FAIL: ld-scripts/provide-4 (map file check) arc-elf +FAIL: ld-scripts/provide-4 (map file check) arm-coff +FAIL: ld-scripts/provide-4 (map file check) arm-coff +FAIL: ld-scripts/provide-4 arm-epoc-pe +FAIL: ld-scripts/provide-4 (map file check) arm-epoc-pe +FAIL: ld-scripts/provide-4 arm-linuxeabi +FAIL: ld-scripts/provide-4 (map file check) arm-nacl +FAIL: ld-scripts/provide-4 (map file check) arm-netbsdelf +FAIL: ld-scripts/provide-4 (map file check) arm-nto +FAIL: ld-scripts/provide-4 (map file check) arm-pe +FAIL: ld-scripts/provide-4 (map file check) arm-pe +FAIL: ld-scripts/provide-4 arm-symbianelf +FAIL: ld-scripts/provide-4 (map file check) arm-symbianelf +FAIL: ld-scripts/provide-4 arm-vxworks +FAIL: ld-scripts/provide-4 (map file check) arm-wince-pe +FAIL: ld-scripts/provide-4 (map file check) arm-wince-pe +FAIL: ld-scripts/provide-4 avr-elf +FAIL: ld-scripts/provide-4 (map file check) bfin-elf +FAIL: ld-scripts/provide-4 (map file check) cr16-elf +FAIL: ld-scripts/provide-4 (map file check) cris-elf +FAIL: ld-scripts/provide-4 (map file check) crisv32-linux +FAIL: ld-scripts/provide-4 (map file check) crx-elf +FAIL: ld-scripts/provide-4 (map file check) d10v-elf +FAIL: ld-scripts/provide-4 (map file check) d30v-elf +FAIL: ld-scripts/provide-4 (map file check) dlx-elf +FAIL: ld-scripts/provide-4 (map file check) fr30-elf +FAIL: ld-scripts/provide-4 (map file check) frv-elf +FAIL: ld-scripts/provide-4 (map file check) frv-linux +FAIL: ld-scripts/provide-4 (map file check) frv-linux +FAIL: ld-scripts/provide-4 h8300-elf +FAIL: ld-scripts/provide-4 (map file check) hppa64-hp-hpux11.23 +FAIL: ld-scripts/provide-4 (map file check) hppa64-hp-hpux11.23 +FAIL: ld-scripts/provide-4 hppa64-linux +FAIL: ld-scripts/provide-4 (map file check) hppa64-linux +FAIL: ld-scripts/provide-4 hppa-linux +FAIL: ld-scripts/provide-4 (map file check) i370-linux +FAIL: ld-scripts/provide-4 (map file check) i386-lynxos +FAIL: ld-scripts/provide-4 (map file check) i386-netware +FAIL: ld-scripts/provide-4 (map file check) i586-coff +FAIL: ld-scripts/provide-4 (map file check) i586-coff +FAIL: ld-scripts/provide-4 i586-linux +FAIL: ld-scripts/provide-4 (map file check) i686-nacl +FAIL: ld-scripts/provide-4 (map file check) i686-pc-beos +FAIL: ld-scripts/provide-4 (map file check) i686-pc-elf +FAIL: ld-scripts/provide-4 (map file check) i686-pe +FAIL: ld-scripts/provide-4 (map file check) i686-pe +FAIL: ld-scripts/provide-4 i860-stardent-elf +FAIL: ld-scripts/provide-4 (map file check) i960-elf +FAIL: ld-scripts/provide-4 (map file check) ia64-elf +FAIL: ld-scripts/provide-4 (map file check) ia64-freebsd5 +FAIL: ld-scripts/provide-4 (map file check) ia64-linux +FAIL: ld-scripts/provide-4 (map file check) ia64-netbsd +FAIL: ld-scripts/provide-4 (map file check) ip2k-elf +FAIL: ld-scripts/provide-4 (map file check) iq2000-elf +FAIL: ld-scripts/provide-4 (map file check) lm32-elf +FAIL: ld-scripts/provide-4 (map file check) m32c-elf +FAIL: ld-scripts/provide-4 (map file check) m32r-elf +FAIL: ld-scripts/provide-4 (map file check) m68hc11-elf +FAIL: ld-scripts/provide-4 (map file check) m68hc12-elf +FAIL: ld-scripts/provide-4 (map file check) m68k-elf +FAIL: ld-scripts/provide-4 (map file check) m68k-linux +FAIL: ld-scripts/provide-4 (map file check) mcore-elf +FAIL: ld-scripts/provide-4 (map file check) mcore-pe +FAIL: ld-scripts/provide-4 (map file check) mcore-pe +FAIL: ld-scripts/provide-4 mep-elf +FAIL: ld-scripts/provide-4 (map file check) microblaze-elf +FAIL: ld-scripts/provide-4 (map file check) mips64-linux +FAIL: ld-scripts/provide-4 (map file check) mipsel-linux-gnu +FAIL: ld-scripts/provide-4 (map file check) mipsisa32el-linux +FAIL: ld-scripts/provide-4 (map file check) mips-linux +FAIL: ld-scripts/provide-4 (map file check) mmix +FAIL: ld-scripts/provide-4 (map file check) mmix +FAIL: ld-scripts/provide-4 mn10200-elf +FAIL: ld-scripts/provide-4 (map file check) mn10300-elf +FAIL: ld-scripts/provide-4 (map file check) moxie-elf +FAIL: ld-scripts/provide-4 (map file check) ms1-elf +FAIL: ld-scripts/provide-4 (map file check) msp430-elf +FAIL: ld-scripts/provide-4 (map file check) msp430-elf +FAIL: ld-scripts/provide-4 nios2-linux +FAIL: ld-scripts/provide-4 (map file check) or1k-elf +FAIL: ld-scripts/provide-4 (map file check) pj-elf +FAIL: ld-scripts/provide-4 (map file check) powerpc64le-elf +FAIL: ld-scripts/provide-4 (map file check) powerpc64-linux +FAIL: ld-scripts/provide-4 (map file check) powerpc-eabisim +FAIL: ld-scripts/provide-4 (map file check) powerpcle-cygwin +FAIL: ld-scripts/provide-4 powerpcle-elf +FAIL: ld-scripts/provide-4 (map file check) powerpc-linux +FAIL: ld-scripts/provide-4 (map file check) powerpc-nto +FAIL: ld-scripts/provide-4 (map file check) powerpc-wrs-vxworks +FAIL: ld-scripts/provide-4 (map file check) ppc-lynxos +FAIL: ld-scripts/provide-4 (map file check) ppc-lynxos +FAIL: ld-scripts/provide-4 rl78-elf +FAIL: ld-scripts/provide-4 (map file check) rx-elf +XPASS: overlay size (map file check) rx-elf +FAIL: overlay size rx-elf +FAIL: ld-scripts/provide-4 (map file check) sh64-elf +FAIL: ld-scripts/provide-4 (map file check) sh-linux +FAIL: ld-scripts/provide-4 (map file check) shl-unknown-netbsdelf +FAIL: ld-scripts/provide-4 (map file check) sh-nto +FAIL: ld-scripts/provide-4 (map file check) sh-pe +FAIL: ld-scripts/provide-4 (map file check) sh-pe +FAIL: ld-scripts/provide-4 sh-rtems +FAIL: ld-scripts/provide-4 (map file check) sparc64-linux +FAIL: ld-scripts/provide-4 (map file check) sparc-coff +FAIL: ld-scripts/provide-4 (map file check) sparc-coff +FAIL: ld-scripts/provide-4 sparc-linux +FAIL: ld-scripts/provide-4 (map file check) spu-elf +FAIL: ld-scripts/provide-4 (map file check) tic30-unknown-coff +FAIL: ld-scripts/provide-4 (map file check) tic30-unknown-coff +FAIL: ld-scripts/provide-4 tic4x-coff +FAIL: ld-scripts/provide-4 (map file check) tic4x-coff +FAIL: ld-scripts/provide-4 tic54x-coff +FAIL: ld-scripts/provide-4 tic6x-elf +FAIL: ld-scripts/provide-4 (map file check) tilegx-linux +FAIL: ld-scripts/provide-4 (map file check) tilepro-linux +FAIL: ld-scripts/provide-4 (map file check) tx39-elf +FAIL: ld-scripts/provide-4 (map file check) v850-elf +FAIL: ld-scripts/provide-4 (map file check) vax-netbsdelf +FAIL: ld-scripts/provide-4 (map file check) x86_64-mingw32 +FAIL: ld-scripts/provide-4 (map file check) x86_64-mingw32 +FAIL: ld-scripts/provide-4 xgate-elf +FAIL: ld-scripts/provide-4 (map file check) xstormy16-elf +FAIL: ld-scripts/provide-4 (map file check) xtensa-elf +FAIL: ld-scripts/provide-4 (map file check) z80-coff +FAIL: ld-scripts/provide-4 (map file check) z80-coff +FAIL: ld-scripts/provide-4 z8k-coff +FAIL: ld-scripts/provide-4 (map file check) z8k-coff +FAIL: ld-scripts/provide-4 -- Alan Modra Australia Development Lab, IBM