Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jan 2017 18:14:25 +0000
From:      bugzilla-noreply@freebsd.org
To:        office@FreeBSD.org
Subject:   [Bug 216206] editors/openoffice-4 and editors/openoffice-devel: fails to build with clang 4.0
Message-ID:  <bug-216206-25061-MrxCzLPFjw@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-216206-25061@https.bugs.freebsd.org/bugzilla/>
References:  <bug-216206-25061@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D216206

--- Comment #20 from Don Lewis <truckman@FreeBSD.org> ---
Another piece of the puzzle is --enable-debug.  The new operator is overrid=
den
to call allocate(), which in turn calls rtl_allocateMemory(), which either
calls malloc() or uses the internal allocator code, depending on the
--with-alloc setting.

Inside allocate() the allocation size (n) is adjusted by n =3D rTraits.size=
 (n).=20
If --enable-debug is set, then the size is increased by 8 bytes.  Then the
pointer returned by rtl_allocateMemory() is adjusted by rTraits.init (p), w=
hich
writes a signature to the first 8 bytes of the memory block and increments =
the
pointer by 8.

When the memory is freed, the pointer is decremented by 8 bytes and the
signature is checked before calling rtl_freeMemory().

Basically even if rtl_allocateMemory() always returns a properly aligned bl=
ock
of memory, --enable-debug will break things if 16 byte alignment is needed.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-216206-25061-MrxCzLPFjw>