From: Jonathan Wakely Date: Thu, 25 Mar 2021 18:24:37 +0000 (+0000) Subject: libstdc++: Declare malloc for freestanding X-Git-Tag: basepoints/gcc-12~425 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=15d649f79d6b6dc336f6a32eec242b652a262a82;p=thirdparty%2Fgcc.git libstdc++: Declare malloc for freestanding For a target with none of aligned_alloc, memalign etc. we defined our own aligned_alloc using malloc, so we need a declaration of malloc. As in libsupc++/new_op.cc we need to declare it ourselves for freestanding environments. libstdc++-v3/ChangeLog: * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare malloc. --- diff --git a/libstdc++-v3/libsupc++/new_opa.cc b/libstdc++-v3/libsupc++/new_opa.cc index 59296226e83e..6b78729dc240 100644 --- a/libstdc++-v3/libsupc++/new_opa.cc +++ b/libstdc++-v3/libsupc++/new_opa.cc @@ -54,6 +54,10 @@ extern "C" void *posix_memalign(void **, size_t alignment, size_t size); # elif _GLIBCXX_HAVE_MEMALIGN void *memalign(size_t alignment, size_t size); +# else + // A freestanding C runtime may not provide "malloc" -- but there is no + // other reasonable way to implement "operator new". + void *malloc(size_t); # endif } #endif