DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 572Hh9ie426077 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 572Hh9ie426077 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=MHfXfesO X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 544A23858C2F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1754134590; bh=efT9/E01IkBAfSnXnGKbI7h3CvuPVyyRVABgATZbGHM=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=MHfXfesOWRkr/KJ4W44SMshJ51YclrrUz/cEqyM4ihoZhPYkOV5cR+Z/17V+ZNg// dKmoyu8sX0nB4oIjnpgQnyKacqQjTNPDLWMTQf5W0Qeo/7GUcHXrWExrPm+sJfU1x9 /92jvR0GUqFqgXCnDiX3KTlAlEE0MC3CO39GoBYA= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D794D385842F ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D794D385842F ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1754134529; cv=none; b=BqOgYU7ULYK8+rZKVO0hZMP82qa72ERi+iqOk0m7uze6gRcY2mTw86GBBvqnQIdNAJUQlWtKbW7Z2dtatDTrCzTITIhjZl04Fz6FfOX/rf6rcxHCQ7kJb4/YUqtlOu//DFT+O4+vNm8T+3AXZ996+krFAZqHuoQiSXsD1mdHBWQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1754134529; c=relaxed/simple; bh=ooWzBhQ5J16qeN3S6Q/QdLuc+A7GctERPC1wN32LX9A=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=AAX1spA69YzaNeUs3t87iDYcEWrp7D6hYMILgpPd3ftTw13szeCSuI4F43c9mvsVTwBnHKYR1irySDvCdOsIT4k+E+GEyzJfA+aJ0DzcY6sXhUI36VHIShQnafmJaB08uwTuY/v32437B4imnhob7XxdWFyABq7qOs1bnOZXmLI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D794D385842F To: cygwin AT cygwin DOT com Subject: Re: new c++ new/delete overloads need wrapping? In-Reply-To: <81535510-8360-1c72-442a-0b630a6d937f@jdrake.com> (Jeremy Drake via Cygwin's message of "Thu, 24 Jul 2025 22:41:04 -0700 (PDT)") References: <81535510-8360-1c72-442a-0b630a6d937f AT jdrake DOT com> Date: Sat, 02 Aug 2025 13:35:15 +0200 Message-ID: <871ppuklcc.fsf@Gerda.invalid> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 X-purgate-type: clean X-purgate: clean X-purgate-size: 2112 X-purgate-ID: 155817::1754134523-8D72A0C3-65EBA797/0/0 X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: ASSI via Cygwin Reply-To: ASSI Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Jeremy Drake via Cygwin writes: > I was looking into C++ new/delete --wrap linker options, and noticed that > in a quick test the wrapper for delete was not being called. This was > because delete is being compiled to _ZdlPvm and that symbol is not present > in the --wrap arguments in the GCC spec, and is not part of the > per_process_cxx_malloc struct. I'm not seeing anything in that cxx_malloc > struct like a size or version number, so I don't know a good way to > extend it given that it is part of the startup code linked into every > binary. So, something like this? --8<---------------cut here---------------start------------->8--- diff --git a/gcc/config/i386/cygwin-w64.h b/gcc/config/i386/cygwin-w64.h index 8180d27c971..177e8203715 100644 --- a/gcc/config/i386/cygwin-w64.h +++ b/gcc/config/i386/cygwin-w64.h @@ -28,13 +28,24 @@ along with GCC; see the file COPYING3. If not see malloc-like operators. See N2800 #17.6.4.6 [replacement.functions] */ #undef CXX_WRAP_SPEC_LIST #define CXX_WRAP_SPEC_LIST " \ - --wrap _Znwm \ - --wrap _Znam \ - --wrap _ZdlPv \ - --wrap _ZdaPv \ + --wrap _ZnwmSt11align_val_tRKSt9nothrow_t \ + --wrap _ZnwmSt11align_val_t \ --wrap _ZnwmRKSt9nothrow_t \ + --wrap _Znwm \ + --wrap _ZnamSt11align_val_tRKSt9nothrow_t \ + --wrap _ZnamSt11align_val_t \ --wrap _ZnamRKSt9nothrow_t \ + --wrap _Znam \ + --wrap _ZdlPvmSt11align_val_t \ + --wrap _ZdlPvm \ + --wrap _ZdlPvSt11align_val_tRKSt9nothrow_t \ + --wrap _ZdlPvSt11align_val_t \ --wrap _ZdlPvRKSt9nothrow_t \ + --wrap _ZdlPv \ + --wrap _ZdaPvmSt11align_val_t \ + --wrap _ZdaPvm \ + --wrap _ZdaPvSt11align_val_tRKSt9nothrow_t \ + --wrap _ZdaPvSt11align_val_t \ --wrap _ZdaPvRKSt9nothrow_t \ " --8<---------------cut here---------------end--------------->8--- The symbols were in reverse order, so I kept it that way. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple