This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Avoid DIE freeing overhead



On 17/04/2006, at 8:19 PM, DJ Delorie wrote:



+	    slot = htab_find_slot_with_hash (debug_str_hash, s->str,
+					     htab_hash_string (s->str),
+					     INSERT);
+	    gcc_assert (*slot == NULL);

My m32c-elf newlib builds are crashing at that assert, on an amd64 linux host.

Try this:


@@ -13802,9 +13777,8 @@
        s->refcount++;
        /* Avoid unnecessarily putting strings that are used less than
           twice in the hash table.  */
-       if (s->refcount == 2
-           || (s->refcount == 1
-               && (DEBUG_STR_SECTION_FLAGS & SECTION_MERGE) != 0))
+       if (s->refcount
+           == ((DEBUG_STR_SECTION_FLAGS & SECTION_MERGE) ? 1 : 2))
          {
            void ** slot;
            slot = htab_find_slot_with_hash (debug_str_hash, s->str,

Let me know if it works.

Attachment: smime.p7s
Description: S/MIME cryptographic signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]