<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/libcxxabi/test/test_fallback_malloc.pass.cpp, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[libc++abi] Revert temporary workaround to unblock Chrome</title>
<updated>2024-02-05T17:19:15+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne.2@gmail.com</email>
</author>
<published>2024-02-05T17:18:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c5f68a711c62aa1748c03215d95ad9b8c7dff9dd'/>
<id>c5f68a711c62aa1748c03215d95ad9b8c7dff9dd</id>
<content type='text'>
This reverts commit 372f7dd48f016, which is not needed by Chrome anymore.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 372f7dd48f016, which is not needed by Chrome anymore.
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++abi] Add temporary workaround to unblock Chrome</title>
<updated>2024-01-31T17:53:33+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne.2@gmail.com</email>
</author>
<published>2024-01-31T17:53:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=372f7dd48f0165c6a7cdc819516132c617ef6f45'/>
<id>372f7dd48f0165c6a7cdc819516132c617ef6f45</id>
<content type='text'>
Chrome rolls libc++ and libc++abi as separate projects. As a result, they
may not always be updated in lockstep, and this can lead to build failures
when mixing libc++ that doesn't have &lt;__thread/support.h&gt; with libc++abi
that requires it.

This patch adds a workaround to make libc++abi work with both versions.
While Chrome's setup is not supported, this workaround will allow them
to go back to green and do the required work needed to roll libc++ and
libc++abi in lockstep. This workaround will be short-lived -- I have a
reminder to go back and remove it by EOW.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Chrome rolls libc++ and libc++abi as separate projects. As a result, they
may not always be updated in lockstep, and this can lead to build failures
when mixing libc++ that doesn't have &lt;__thread/support.h&gt; with libc++abi
that requires it.

This patch adds a workaround to make libc++abi work with both versions.
While Chrome's setup is not supported, this workaround will allow them
to go back to green and do the required work needed to roll libc++ and
libc++abi in lockstep. This workaround will be short-lived -- I have a
reminder to go back and remove it by EOW.
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++] Split the monolithic __threading_support header (#79654)</title>
<updated>2024-01-30T13:35:15+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne.2@gmail.com</email>
</author>
<published>2024-01-30T13:35:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7162fd750ee5f786f3b9b7a7b26b72ee36ce772e'/>
<id>7162fd750ee5f786f3b9b7a7b26b72ee36ce772e</id>
<content type='text'>
The &lt;__threading_support&gt; header is a huge beast and it's really
difficult to navigate. I find myself struggling to find what I want
every time I have to open it, and I've been considering splitting it up
for years for that reason.

This patch aims not to contain any functional change. The various
implementations of the threading base are simply moved to separate
headers and then the individual headers are simplified in mechanical
ways. For example, we used to have redundant declarations of all the
functions at the top of `__threading_support`, and those are removed
since they are not needed anymore. The various #ifdefs are also
simplified and removed when they become unnecessary.

Finally, this patch adds documentation for the API we expect from any
threading implementation.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The &lt;__threading_support&gt; header is a huge beast and it's really
difficult to navigate. I find myself struggling to find what I want
every time I have to open it, and I've been considering splitting it up
for years for that reason.

This patch aims not to contain any functional change. The various
implementations of the threading base are simply moved to separate
headers and then the individual headers are simplified in mechanical
ways. For example, we used to have redundant declarations of all the
functions at the top of `__threading_support`, and those are removed
since they are not needed anymore. The various #ifdefs are also
simplified and removed when they become unnecessary.

Finally, this patch adds documentation for the API we expect from any
threading implementation.</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++abi] Avoid raw calls to assert() in libc++abi (#71121)</title>
<updated>2023-11-23T23:21:43+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne.2@gmail.com</email>
</author>
<published>2023-11-23T23:21:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c4779ea8e709a7bce7288988fabf1ba50e9c9477'/>
<id>c4779ea8e709a7bce7288988fabf1ba50e9c9477</id>
<content type='text'>
The runtimes now have a principled way of doing assertions in relation
to hardening, so we should use that instead of raw calls to assert()
inside libc++abi. This patch aims to maintain the behavior of the
demangler code when it is used from within LLVM by introducing a simple
DEMANGLE_ASSERT(...) macro that is then defined to the appropriate
assertion mechanism.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The runtimes now have a principled way of doing assertions in relation
to hardening, so we should use that instead of raw calls to assert()
inside libc++abi. This patch aims to maintain the behavior of the
demangler code when it is used from within LLVM by introducing a simple
DEMANGLE_ASSERT(...) macro that is then defined to the appropriate
assertion mechanism.</pre>
</div>
</content>
</entry>
<entry>
<title>[libcxxabi] [test] Use the correct printf formats for printing pointers</title>
<updated>2023-04-17T14:49:56+00:00</updated>
<author>
<name>Martin Storsjö</name>
<email>martin@martin.st</email>
</author>
<published>2023-04-05T11:52:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c4a735d445fd2e780e6e45e80ae721c0bd3d05d1'/>
<id>c4a735d445fd2e780e6e45e80ae721c0bd3d05d1</id>
<content type='text'>
Don't cast the pointers to long, as that's not large enough for
pointers on 64 bit Windows.

Differential Revision: https://reviews.llvm.org/D147640
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't cast the pointers to long, as that's not large enough for
pointers on 64 bit Windows.

Differential Revision: https://reviews.llvm.org/D147640
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++] Move the definition of aligned allocation helpers outside of &lt;new&gt;</title>
<updated>2023-01-26T19:41:13+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne.2@gmail.com</email>
</author>
<published>2022-12-02T21:45:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=36080434a8858c33f2af2382be748caed131385f'/>
<id>36080434a8858c33f2af2382be748caed131385f</id>
<content type='text'>
They are not needed in &lt;new&gt; -- in fact they are only needed in .cpp files.
Getting those out of the way makes the headers smaller and also makes it
easier to use the library on platforms where aligned allocation is not
available.

Differential Revision: https://reviews.llvm.org/D139231
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
They are not needed in &lt;new&gt; -- in fact they are only needed in .cpp files.
Getting those out of the way makes the headers smaller and also makes it
easier to use the library on platforms where aligned allocation is not
available.

Differential Revision: https://reviews.llvm.org/D139231
</pre>
</div>
</content>
</entry>
<entry>
<title>[libcxxabi] Fix alignment of pointers returned by fallback_malloc</title>
<updated>2022-08-19T14:07:57+00:00</updated>
<author>
<name>Simon Tatham</name>
<email>simon.tatham@arm.com</email>
</author>
<published>2022-08-19T14:07:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a771a91dcbe637bc545da510fe5a9a671ab5e977'/>
<id>a771a91dcbe637bc545da510fe5a9a671ab5e977</id>
<content type='text'>
This aligns the ``heap[]`` array in ``fallback_malloc.cpp`` to ensure
that it can be safely cast to ``heap_node*``, and also adjusts the
allocation algorithm to ensure that every allocated block has the
alignment requested by ``__attribute__((aligned))``, by putting the
block's ``heap_node`` header 4 bytes before an aligned address.

Patch originally by Eric Fiselier: this is an updated version of
D12669, which was never landed.

Reviewed By: ldionne, #libc_abi

Differential Revision: https://reviews.llvm.org/D129842
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This aligns the ``heap[]`` array in ``fallback_malloc.cpp`` to ensure
that it can be safely cast to ``heap_node*``, and also adjusts the
allocation algorithm to ensure that every allocated block has the
alignment requested by ``__attribute__((aligned))``, by putting the
block's ``heap_node`` header 4 bytes before an aligned address.

Patch originally by Eric Fiselier: this is an updated version of
D12669, which was never landed.

Reviewed By: ldionne, #libc_abi

Differential Revision: https://reviews.llvm.org/D129842
</pre>
</div>
</content>
</entry>
<entry>
<title>[runtimes] Rename various libcpp-has-no-XYZ Lit features to just no-XYZ</title>
<updated>2022-05-27T19:24:45+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne.2@gmail.com</email>
</author>
<published>2022-05-26T15:49:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a7f9895cc18995549c7facb96e72718da282a864'/>
<id>a7f9895cc18995549c7facb96e72718da282a864</id>
<content type='text'>
Since those features are general properties of the environment, it makes
sense to use them from libc++abi too, and so the name libcpp-has-no-xxx
doesn't make sense.

Differential Revision: https://reviews.llvm.org/D126482
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since those features are general properties of the environment, it makes
sense to use them from libc++abi too, and so the name libcpp-has-no-xxx
doesn't make sense.

Differential Revision: https://reviews.llvm.org/D126482
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++abi] Use from-scratch testing configs for libc++abi by default</title>
<updated>2022-05-26T13:08:31+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne.2@gmail.com</email>
</author>
<published>2022-05-09T15:54:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=851bfc07c86e7f84ee38d918cb4b6b49a47434f1'/>
<id>851bfc07c86e7f84ee38d918cb4b6b49a47434f1</id>
<content type='text'>
Like we have been doing for libc++ for a while now, start using
from-scratch testing configurations for libc++abi.

As a fly-by fix, remove the LIBCXXABI_NO_TIMER macro, which was defined
but never used.

Differential Revision: https://reviews.llvm.org/D125242
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Like we have been doing for libc++ for a while now, start using
from-scratch testing configurations for libc++abi.

As a fly-by fix, remove the LIBCXXABI_NO_TIMER macro, which was defined
but never used.

Differential Revision: https://reviews.llvm.org/D125242
</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++] Revert "Protect users from relying on detail headers" &amp; related changes</title>
<updated>2022-03-01T13:20:24+00:00</updated>
<author>
<name>Louis Dionne</name>
<email>ldionne.2@gmail.com</email>
</author>
<published>2022-02-28T21:37:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=368faacac7525e538fa6680aea74e19a75e3458d'/>
<id>368faacac7525e538fa6680aea74e19a75e3458d</id>
<content type='text'>
This commit reverts 5aaefa51 (and also partly 7f285f48e77 and b6d75682f9,
which were related to the original commit). As landed, 5aaefa51 had
unintended consequences on some downstream bots and didn't have proper
coverage upstream due to a few subtle things. Implementing this is
something we should do in libc++, however we'll first need to address
a few issues listed in https://reviews.llvm.org/D106124#3349710.

Differential Revision: https://reviews.llvm.org/D120683
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit reverts 5aaefa51 (and also partly 7f285f48e77 and b6d75682f9,
which were related to the original commit). As landed, 5aaefa51 had
unintended consequences on some downstream bots and didn't have proper
coverage upstream due to a few subtle things. Implementing this is
something we should do in libc++, however we'll first need to address
a few issues listed in https://reviews.llvm.org/D106124#3349710.

Differential Revision: https://reviews.llvm.org/D120683
</pre>
</div>
</content>
</entry>
</feed>
