Commit 8d0510dd by Roger Sayle Committed by Roger Sayle

mips-tfile.c (initialize_init_file): Correct endianness test.


	* mips-tfile.c (initialize_init_file): Correct endianness test.

From-SVN: r121602
parent cd5c2357
2007-02-05 Roger Sayle <roger@eyesopen.com>
* mips-tfile.c (initialize_init_file): Correct endianness test.
2007-02-05 Kazu Hirata <kazu@codesourcery.com> 2007-02-05 Kazu Hirata <kazu@codesourcery.com>
* config/m68k/m68k.md (pushdi-1, pushdi, movsi+1): Don't use * config/m68k/m68k.md (pushdi-1, pushdi, movsi+1): Don't use
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
in the form of comments (the mips assembler does not support in the form of comments (the mips assembler does not support
assembly access to debug information). assembly access to debug information).
Copyright (C) 1991, 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2001, Copyright (C) 1991, 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
Contributed by Michael Meissner (meissner@cygnus.com). Contributed by Michael Meissner (meissner@cygnus.com).
This file is part of GCC. This file is part of GCC.
...@@ -2352,15 +2352,28 @@ add_procedure (const char *func_start, /* 1st byte of func name */ ...@@ -2352,15 +2352,28 @@ add_procedure (const char *func_start, /* 1st byte of func name */
STATIC void STATIC void
initialize_init_file (void) initialize_init_file (void)
{ {
union {
unsigned char c[4];
int i;
} endian_test;
memset (&init_file, 0, sizeof (init_file)); memset (&init_file, 0, sizeof (init_file));
init_file.fdr.lang = langC; init_file.fdr.lang = langC;
init_file.fdr.fMerge = 1; init_file.fdr.fMerge = 1;
init_file.fdr.glevel = GLEVEL_2; init_file.fdr.glevel = GLEVEL_2;
#ifdef WORDS_BIG_ENDIAN /* mips-tfile doesn't attempt to perform byte swapping and always writes
init_file.fdr.fBigendian = 1; out integers in its native ordering. For cross-compilers, this need
#endif not be the same as either the host or the target. The simplest thing
to do is skip the configury and perform an introspective test. */
/* ??? Despite the name, mips-tfile is currently only used on alpha/Tru64
and would/may require significant work to be used in cross-compiler
configurations, so we could simply admit defeat and hard code this as
little-endian, i.e. init_file.fdr.fBigendian = 0. */
endian_test.i = 1;
if (endian_test.c[3])
init_file.fdr.fBigendian = 1;
INITIALIZE_VARRAY (&init_file.strings, char); INITIALIZE_VARRAY (&init_file.strings, char);
INITIALIZE_VARRAY (&init_file.symbols, SYMR); INITIALIZE_VARRAY (&init_file.symbols, SYMR);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment