Commit 50603eed by Paul Brook Committed by Paul Brook

arm.c (arm_elf_asm_constructor): Remove ATTRIBUTE_UNUSED from priority argument.

2006-11-02  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_elf_asm_constructor): Remove ATTRIBUTE_UNUSED
	from priority argument.  Use different section for non-default
	priority.
	* config/arm/elf.h: Remove definition of SUPPORTS_INIT_PRIORITY.

From-SVN: r118425
parent 88852cb5
2006-11-02 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.c (arm_elf_asm_constructor): Remove ATTRIBUTE_UNUSED
from priority argument. Use different section for non-default
priority.
* config/arm/elf.h: Remove definition of SUPPORTS_INIT_PRIORITY.
2006-11-02 Eric Botcazou <ebotcazou@adacore.com> 2006-11-02 Eric Botcazou <ebotcazou@adacore.com>
PR other/29639 PR other/29639
......
...@@ -11349,8 +11349,10 @@ arm_assemble_integer (rtx x, unsigned int size, int aligned_p) ...@@ -11349,8 +11349,10 @@ arm_assemble_integer (rtx x, unsigned int size, int aligned_p)
/* Add a function to the list of static constructors. */ /* Add a function to the list of static constructors. */
static void static void
arm_elf_asm_constructor (rtx symbol, int priority ATTRIBUTE_UNUSED) arm_elf_asm_constructor (rtx symbol, int priority)
{ {
section *s;
if (!TARGET_AAPCS_BASED) if (!TARGET_AAPCS_BASED)
{ {
default_named_section_asm_out_constructor (symbol, priority); default_named_section_asm_out_constructor (symbol, priority);
...@@ -11358,7 +11360,16 @@ arm_elf_asm_constructor (rtx symbol, int priority ATTRIBUTE_UNUSED) ...@@ -11358,7 +11360,16 @@ arm_elf_asm_constructor (rtx symbol, int priority ATTRIBUTE_UNUSED)
} }
/* Put these in the .init_array section, using a special relocation. */ /* Put these in the .init_array section, using a special relocation. */
switch_to_section (ctors_section); if (priority != DEFAULT_INIT_PRIORITY)
{
char buf[18];
sprintf (buf, ".init_array.%.5u", priority);
s = get_section (buf, SECTION_WRITE, NULL_TREE);
}
else
s = ctors_section;
switch_to_section (s);
assemble_align (POINTER_SIZE); assemble_align (POINTER_SIZE);
fputs ("\t.word\t", asm_out_file); fputs ("\t.word\t", asm_out_file);
output_addr_const (asm_out_file, symbol); output_addr_const (asm_out_file, symbol);
......
...@@ -149,5 +149,3 @@ ...@@ -149,5 +149,3 @@
} \ } \
while (0) while (0)
/* The EABI doesn't provide a way of implementing init_priority. */
#define SUPPORTS_INIT_PRIORITY (!TARGET_AAPCS_BASED)
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