mirror of git://gcc.gnu.org/git/gcc.git
re PR target/31100 (ASM_OUTPUT_ALIGN_WITH_NOP wrong with GNU as)
PR target/31100 * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to... * config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here. * config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine. From-SVN: r166986
This commit is contained in:
parent
430c6cebe1
commit
233db724fa
|
@ -1,3 +1,10 @@
|
||||||
|
2010-11-20 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
PR target/31100
|
||||||
|
* config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to...
|
||||||
|
* config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here.
|
||||||
|
* config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine.
|
||||||
|
|
||||||
2010-11-20 Jan Hubicka <jh@suse.cz>
|
2010-11-20 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
* cgraph.c (ld_plugin_symbol_resolution_names): New.
|
* cgraph.c (ld_plugin_symbol_resolution_names): New.
|
||||||
|
|
|
@ -23,6 +23,9 @@ a copy of the GCC Runtime Library Exception along with this program;
|
||||||
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
/* Undefine this as the filler pattern doesn't work with GNU as. */
|
||||||
|
#undef ASM_OUTPUT_ALIGN_WITH_NOP
|
||||||
|
|
||||||
/* Undefine this so that BNSYM/ENSYM pairs are emitted by STABS+. */
|
/* Undefine this so that BNSYM/ENSYM pairs are emitted by STABS+. */
|
||||||
#undef NO_DBX_BNSYM_ENSYM
|
#undef NO_DBX_BNSYM_ENSYM
|
||||||
|
|
||||||
|
|
|
@ -177,6 +177,13 @@ along with GCC; see the file COPYING3. If not see
|
||||||
} \
|
} \
|
||||||
while (0)
|
while (0)
|
||||||
|
|
||||||
|
/* This is how to output an assembler line that says to advance
|
||||||
|
the location counter to a multiple of 2**LOG bytes using the
|
||||||
|
NOP instruction as padding. */
|
||||||
|
#define ASM_OUTPUT_ALIGN_WITH_NOP(FILE,LOG) \
|
||||||
|
if ((LOG) != 0) \
|
||||||
|
fprintf (FILE, "\t.align %d,0x1000000\n", (1<<(LOG)))
|
||||||
|
|
||||||
/* Use Solaris ELF section syntax. */
|
/* Use Solaris ELF section syntax. */
|
||||||
#undef TARGET_ASM_NAMED_SECTION
|
#undef TARGET_ASM_NAMED_SECTION
|
||||||
#define TARGET_ASM_NAMED_SECTION sparc_solaris_elf_asm_named_section
|
#define TARGET_ASM_NAMED_SECTION sparc_solaris_elf_asm_named_section
|
||||||
|
|
|
@ -2013,13 +2013,6 @@ do { \
|
||||||
if ((LOG) != 0) \
|
if ((LOG) != 0) \
|
||||||
fprintf (FILE, "\t.align %d\n", (1<<(LOG)))
|
fprintf (FILE, "\t.align %d\n", (1<<(LOG)))
|
||||||
|
|
||||||
/* This is how to output an assembler line that says to advance
|
|
||||||
the location counter to a multiple of 2**LOG bytes using the
|
|
||||||
"nop" instruction as padding. */
|
|
||||||
#define ASM_OUTPUT_ALIGN_WITH_NOP(FILE,LOG) \
|
|
||||||
if ((LOG) != 0) \
|
|
||||||
fprintf (FILE, "\t.align %d,0x1000000\n", (1<<(LOG)))
|
|
||||||
|
|
||||||
#define ASM_OUTPUT_SKIP(FILE,SIZE) \
|
#define ASM_OUTPUT_SKIP(FILE,SIZE) \
|
||||||
fprintf (FILE, "\t.skip "HOST_WIDE_INT_PRINT_UNSIGNED"\n", (SIZE))
|
fprintf (FILE, "\t.skip "HOST_WIDE_INT_PRINT_UNSIGNED"\n", (SIZE))
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2010-11-20 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* gcc.target/sparc/sparc-align-1.c: New test.
|
||||||
|
|
||||||
2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
|
2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
|
||||||
|
|
||||||
PR c++/16189
|
PR c++/16189
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
/* PR target/31100 */
|
||||||
|
/* Reported by Erwin Unruh <Erwin.Unruh@fujitsu-siemens.com> */
|
||||||
|
|
||||||
|
/* { dg-do run } */
|
||||||
|
/* { dg-options "-falign-labels=16" } */
|
||||||
|
|
||||||
|
extern void abort(void);
|
||||||
|
|
||||||
|
int f(int i)
|
||||||
|
{
|
||||||
|
int res;
|
||||||
|
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 5:
|
||||||
|
res = i - i;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
res = i * 2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
if (f(2) != 4)
|
||||||
|
abort ();
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue