From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27982 invoked by alias); 9 Nov 2004 22:02:15 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 27725 invoked from network); 9 Nov 2004 22:01:58 -0000 Received: from unknown (HELO krynn.se.axis.com) (212.209.10.221) by sourceware.org with SMTP; 9 Nov 2004 22:01:58 -0000 Received: from ignucius.se.axis.com (ignucius.se.axis.com [10.83.5.18]) by krynn.se.axis.com (8.12.9/8.12.9/Debian-5local0.1) with ESMTP id iA9M1vAD026101; Tue, 9 Nov 2004 23:01:57 +0100 Received: from ignucius.se.axis.com (localhost [127.0.0.1]) by ignucius.se.axis.com (8.12.8p1/8.12.8/Debian-2woody1) with ESMTP id iA9M1vdD018096; Tue, 9 Nov 2004 23:01:57 +0100 Received: (from hp@localhost) by ignucius.se.axis.com (8.12.8p1/8.12.8/Debian-2woody1) id iA9M1v21018092; Tue, 9 Nov 2004 23:01:57 +0100 Date: Tue, 09 Nov 2004 22:02:00 -0000 Message-Id: <200411092201.iA9M1v21018092@ignucius.se.axis.com> From: Hans-Peter Nilsson To: gdb-patches@gcc.gnu.org Subject: [RFA:] sim-config.c: When having a bfd, don't just check bfd_little_endian X-SW-Source: 2004-11/txt/msg00180.txt.bz2 The testcase for this bug looks like this: --------------------- # mach: crisv32 # output: 0\n0\n4\n42\n # sim: --cris-naked --target binary --architecture crisv32 # ld: --oformat binary ; Check that we can run a naked binary with the same expected ; results as an ELF "executable". .include "bare1.ms" --------------------- That is, we try and run a binary file with a specified architecture and test output as with the ELF. Current behaviour is to emit: Target (LITTLE_ENDIAN) and specified (BIG_ENDIAN) byte order in conflict 0 0 4 42 which is clearly wrong; BIG_ENDIAN isn't *specified* neither should it be perceived as such for a binary file. Ok to commit? 2004-11-09 Hans-Peter Nilsson * sim-config.c (sim_config): Recognize when a bfd has unspecified endian information. Index: sim-config.c =================================================================== RCS file: /cvs/src/src/sim/common/sim-config.c,v retrieving revision 1.2 diff -c -p -r1.2 sim-config.c *** sim-config.c 23 Nov 2002 01:12:05 -0000 1.2 --- sim-config.c 9 Nov 2004 19:41:07 -0000 *************** sim_config (SIM_DESC sd) *** 146,152 **** SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER); /* extract all relevant information */ ! if (STATE_PROG_BFD (sd) == NULL) prefered_target_byte_order = 0; else prefered_target_byte_order = (bfd_little_endian(STATE_PROG_BFD (sd)) --- 146,156 ---- SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER); /* extract all relevant information */ ! if (STATE_PROG_BFD (sd) == NULL ! /* If we have a binary input file (presumably with specified ! "--architecture"), it'll have no endianness. */ ! || (!bfd_little_endian (STATE_PROG_BFD (sd)) ! && !bfd_big_endian (STATE_PROG_BFD (sd)))) prefered_target_byte_order = 0; else prefered_target_byte_order = (bfd_little_endian(STATE_PROG_BFD (sd)) brgds, H-P