[compiler-rt] r364332 - [scudo][standalone] Introduce the C & C++ wrappers

Kostya Kortchinsky via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 26 11:21:52 PDT 2019


https://reviews.llvm.org/D63831 should have the necessary fixes, I put you
guys as reviewers as well, thanks!

On Wed, Jun 26, 2019 at 10:37 AM Kostya Kortchinsky <kostyak at google.com>
wrote:

> Sorry about that, working on a fix!
>
> On Wed, Jun 26, 2019 at 2:47 AM Hans Wennborg <hans at chromium.org> wrote:
>
>> It broke Chromium's build too:
>>
>> https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8909601197093055184/+/steps/gclient_runhooks/0/stdout
>>
>> I've reverted in r364400.
>>
>> On Wed, Jun 26, 2019 at 4:07 AM via llvm-commits
>> <llvm-commits at lists.llvm.org> wrote:
>> >
>> > Hi Kostya,
>> >
>> > This commit failed to build on our internal build bot. The build is bot
>> is running linux and using gcc 5.4.0 to build which results in the
>> following error:
>> >
>> > FAILED: CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache
>> /usr/lib/ccache/g++   -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS
>> -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
>> -Iprojects/compiler-rt/lib/scudo/standalone
>> -I/home/siadmin/jenkins/w/opensource/opensource_build/llvm/projects/compiler-rt/lib/scudo/standalone
>> -Iinclude
>> -I/home/siadmin/jenkins/w/opensource/opensource_build/llvm/include
>> -I/home/siadmin/jenkins/w/opensource/opensource_build/llvm/projects/compiler-rt/lib/scudo/standalone/../..
>> -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall
>> -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual
>> -Wno-missing-field-initializers -pedantic -Wno-long-long
>> -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment
>> -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -std=c++11
>> -Wno-unused-parameter -O3    -UNDEBUG  -m64 -Wall -nostdinc++
>> -ffreestanding -fvisibility=hidden -O3 -MMD -MT
>> projects/compiler-rt/lib/scudo/standalone/CMakeFiles/RTScudoStandaloneCWrappers.x86_64.dir/wrappers_c.cc.o
>> -MF
>> projects/compiler-rt/lib/scudo/standalone/CMakeFiles/RTScudoStandaloneCWrappers.x86_64.dir/wrappers_c.cc.o.d
>> -o
>> projects/compiler-rt/lib/scudo/standalone/CMakeFiles/RTScudoStandaloneCWrappers.x86_64.dir/wrappers_c.cc.o
>> -c
>> /home/siadmin/jenkins/w/opensource/opensource_build/llvm/projects/compiler-rt/lib/scudo/standalone/wrappers_c.cc
>> > In file included from
>> /home/siadmin/jenkins/w/opensource/opensource_build/llvm/projects/compiler-rt/lib/scudo/standalone/wrappers_c.cc:31:0:
>> >
>> /home/siadmin/jenkins/w/opensource/opensource_build/llvm/projects/compiler-rt/lib/scudo/standalone/wrappers_c.inc:
>> In function 'void* calloc(size_t, size_t)':
>> >
>> /home/siadmin/jenkins/w/opensource/opensource_build/llvm/projects/compiler-rt/lib/scudo/standalone/wrappers_c.inc:20:68:
>> error: declaration of 'void* calloc(size_t, size_t)' has a different
>> exception specifier
>> >  INTERFACE WEAK void *SCUDO_PREFIX(calloc)(size_t nmemb, size_t size) {
>> >                                                                     ^
>> > In file included from
>> /home/siadmin/jenkins/w/opensource/opensource_build/llvm/projects/compiler-rt/lib/scudo/standalone/flags_parser.h:16:0,
>> >                  from
>> /home/siadmin/jenkins/w/opensource/opensource_build/llvm/projects/compiler-rt/lib/scudo/standalone/combined.h:15,
>> >                  from
>> /home/siadmin/jenkins/w/opensource/opensource_build/llvm/projects/compiler-rt/lib/scudo/standalone/allocator_config.h:12,
>> >                  from
>> /home/siadmin/jenkins/w/opensource/opensource_build/llvm/projects/compiler-rt/lib/scudo/standalone/wrappers_c.cc:14:
>> > /usr/include/stdlib.h:468:14: error: from previous declaration 'void*
>> calloc(size_t, size_t) throw ()'
>> >  extern void *calloc (size_t __nmemb, size_t __size)
>> >               ^
>> >
>> > Identical compiler errors are emitted for your definitions of calloc,
>> free, malloc, posix_memalign, realloc, valloc, and aligned_alloc.
>> >
>> > Can you take a look?
>> >
>> > Douglas Yung
>> >
>> > -----Original Message-----
>> > From: llvm-commits <llvm-commits-bounces at lists.llvm.org> On Behalf Of
>> Kostya Kortchinsky via llvm-commits
>> > Sent: Tuesday, June 25, 2019 9:51
>> > To: llvm-commits at lists.llvm.org
>> > Subject: [compiler-rt] r364332 - [scudo][standalone] Introduce the C &
>> C++ wrappers
>> >
>> > Author: cryptoad
>> > Date: Tue Jun 25 09:51:27 2019
>> > New Revision: 364332
>> >
>> > URL: http://llvm.org/viewvc/llvm-project?rev=364332&view=rev
>> > Log:
>> > [scudo][standalone] Introduce the C & C++ wrappers
>> >
>> > Summary:
>> > This CL adds C & C++ wrappers and associated tests. Those use default
>> configurations for a Scudo combined allocator that will likely be tweaked
>> in the future.
>> >
>> > This is the final CL required to have a functional C & C++ allocator
>> based on Scudo.
>> >
>> > The structure I have chosen is to define the core C allocation
>> primitives in an `.inc` file that can be customized through defines.
>> > This allows to easily have 2 (or more) sets of wrappers backed by
>> different combined allocators, as demonstrated by the `Bionic`
>> > wrappers: one set for the "default" allocator, one set for the "svelte"
>> > allocator.
>> >
>> > Currently all the tests added have been gtests, but I am planning to
>> add some more lit tests as well.
>> >
>> > Reviewers: morehouse, eugenis, vitalybuka, hctim, rengolin
>> >
>> > Reviewed By: morehouse
>> >
>> > Subscribers: srhines, mgorny, delcypher, jfb, #sanitizers, llvm-commits
>> >
>> > Tags: #llvm, #sanitizers
>> >
>> > Differential Revision: https://reviews.llvm.org/D63612
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190626/b05fc6b9/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4845 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190626/b05fc6b9/attachment.bin>


More information about the llvm-commits mailing list