Commit 77e22628 authored by jakub's avatar jakub
Browse files

PR middle-end/47610

	* varasm.c (default_section_type_flags): If decl is NULL,
	and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO
	bit.

	* gcc.dg/pr47610.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169855 138bc75d-0d04-0410-961f-82ee72b054a4
parent 57f34440
2011-02-05 Jakub Jelinek <jakub@redhat.com>
PR middle-end/47610
* varasm.c (default_section_type_flags): If decl is NULL,
and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO
bit.
2011-02-05 Jie Zhang <jie@codesourcery.com>
PR debug/42631
......
2011-02-05 Jakub Jelinek <jakub@redhat.com>
PR middle-end/47610
* gcc.dg/pr47610.c: New test.
2011-02-05 Jie Zhang <jie@codesourcery.com>
PR debug/42631
......
/* PR middle-end/47610 */
/* { dg-do compile } */
/* { dg-options "-O2 -fpic" { target fpic } } */
struct S { const char *s; };
const struct S s[] = { "s" };
extern void foo (void (*) (void));
static void bar (void) {}
void baz () { foo (bar); }
......@@ -6060,7 +6060,12 @@ default_section_type_flags (tree decl, const char *name, int reloc)
flags = SECTION_WRITE;
}
else
flags = SECTION_WRITE;
{
flags = SECTION_WRITE;
if (strcmp (name, ".data.rel.ro") == 0
|| strcmp (name, ".data.rel.ro.local") == 0)
flags |= SECTION_RELRO;
}
if (decl && DECL_ONE_ONLY (decl))
flags |= SECTION_LINKONCE;
......
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