re PR middle-end/31490 (Compile error section type conflict)
2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com> Steve Ellcey <sje@cup.hp.com> PR middle-end/31490 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask if section attribute used. Co-Authored-By: Steve Ellcey <sje@cup.hp.com> From-SVN: r166887
This commit is contained in:
parent
3a3a1e7484
commit
86f27ba678
2 changed files with 14 additions and 3 deletions
|
@ -1,3 +1,10 @@
|
|||
2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
|
||||
Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
PR middle-end/31490
|
||||
* varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
|
||||
if section attribute used.
|
||||
|
||||
2010-11-17 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
|
||||
|
|
10
gcc/varasm.c
10
gcc/varasm.c
|
@ -6102,13 +6102,17 @@ categorize_decl_for_section (const_tree decl, int reloc)
|
|||
/* Here the reloc_rw_mask is not testing whether the section should
|
||||
be read-only or not, but whether the dynamic link will have to
|
||||
do something. If so, we wish to segregate the data in order to
|
||||
minimize cache misses inside the dynamic linker. */
|
||||
if (reloc & targetm.asm_out.reloc_rw_mask ())
|
||||
minimize cache misses inside the dynamic linker. If the data
|
||||
has a section attribute, ignore reloc_rw_mask() so that all data
|
||||
in a given named section is catagorized in the same way. */
|
||||
if (reloc & targetm.asm_out.reloc_rw_mask ()
|
||||
&& !lookup_attribute ("section", DECL_ATTRIBUTES (decl)))
|
||||
ret = reloc == 1 ? SECCAT_DATA_REL_LOCAL : SECCAT_DATA_REL;
|
||||
else
|
||||
ret = SECCAT_DATA;
|
||||
}
|
||||
else if (reloc & targetm.asm_out.reloc_rw_mask ())
|
||||
else if (reloc & targetm.asm_out.reloc_rw_mask ()
|
||||
&& !lookup_attribute ("section", DECL_ATTRIBUTES (decl)))
|
||||
ret = reloc == 1 ? SECCAT_DATA_REL_RO_LOCAL : SECCAT_DATA_REL_RO;
|
||||
else if (reloc || flag_merge_constants < 2)
|
||||
/* C and C++ don't allow different variables to share the same
|
||||
|
|
Loading…
Add table
Reference in a new issue