upstream dep fixes
[nestedvm.git] / upstream / patches / gcc-fdata-sections-bss.patch
1 --- gcc/config/mips/mips.c.orig Mon Dec 29 06:30:42 2003
2 +++ gcc/config/mips/mips.c      Mon Dec 29 07:16:35 2003
3 @@ -10535,11 +10535,13 @@
4    int len, size, sec;
5    const char *name, *prefix;
6    char *string;
7 -  static const char *const prefixes[4][2] = {
8 +  static const char *const prefixes[6][2] = {
9      { ".text.", ".gnu.linkonce.t." },
10      { ".rodata.", ".gnu.linkonce.r." },
11      { ".data.", ".gnu.linkonce.d." },
12 -    { ".sdata.", ".gnu.linkonce.s." }
13 +    { ".sdata.", ".gnu.linkonce.s." },
14 +    { ".bss.", ".gnu.linkonce.b." },
15 +    { ".sbss.", ".gnu.linkonce.sb." }
16    };
17  
18    name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
19 @@ -10551,8 +10553,9 @@
20    if (TREE_CODE (decl) == FUNCTION_DECL)
21      sec = 0;
22    else if (DECL_INITIAL (decl) == 0
23 -           || DECL_INITIAL (decl) == error_mark_node)
24 -    sec = 2;
25 +           || DECL_INITIAL (decl) == error_mark_node
26 +           || initializer_zerop (DECL_INITIAL (decl)))
27 +    sec = (size > 0 && size <= mips_section_threshold) ? 5 : 4;
28    else if ((TARGET_EMBEDDED_PIC || TARGET_MIPS16)
29        && TREE_CODE (decl) == STRING_CST
30        && !flag_writable_strings)