hasufell    14/06/17 20:44:56

  Added:                0ad-0.0.16_alpha-gcc-4.9.patch
  Log:
  add patch that fixes UD, fix HOMEPAGE
  
  (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 
BDEED020)

Revision  Changes    Path
1.1                  games-strategy/0ad/files/0ad-0.0.16_alpha-gcc-4.9.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/games-strategy/0ad/files/0ad-0.0.16_alpha-gcc-4.9.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/games-strategy/0ad/files/0ad-0.0.16_alpha-gcc-4.9.patch?rev=1.1&content-type=text/plain

Index: 0ad-0.0.16_alpha-gcc-4.9.patch
===================================================================
Index: /ps/trunk/source/lib/allocators/headerless.cpp
===================================================================
--- /ps/trunk/source/lib/allocators/headerless.cpp      (revision 15333)
+++ /ps/trunk/source/lib/allocators/headerless.cpp      (revision 15334)
@@ -55,10 +55,12 @@
        }
 
-       FreedBlock(uintptr_t id, size_t size)
-               :  m_magic(s_magic), m_size(size), m_id(id)
-       {
-       }
-
-       ~FreedBlock()
+       void Setup(uintptr_t id, size_t size)
+       {
+               m_magic = s_magic;
+               m_size = size;
+               m_id = id;
+       }
+
+       void Reset()
        {
                // clear all fields to prevent accidental reuse
@@ -411,6 +413,7 @@
        FreedBlock* WriteTags(u8* p, size_t size)
        {
-               FreedBlock* freedBlock = new(p) FreedBlock(s_headerId, size);
-               (void)new(Footer(freedBlock)) FreedBlock(s_footerId, size);
+               FreedBlock* freedBlock = (FreedBlock*)p;
+               freedBlock->Setup(s_headerId, size);
+               Footer(freedBlock)->Setup(s_footerId, size);
 
                m_freeBlocks++;
@@ -431,6 +434,6 @@
 
                FreedBlock* footer = Footer(freedBlock);
-               freedBlock->~FreedBlock();
-               footer->~FreedBlock();
+               freedBlock->Reset();
+               footer->Reset();
        }
 




Reply via email to