From f7f20e6a690ff22eead44f237eeae7597a88379b Mon Sep 17 00:00:00 2001
From: Romain Geissler <romain.geissler@amadeus.com>
Date: Mon, 19 Aug 2013 22:52:53 +0200
Subject: [PATCH] Define global new/delete operators as weak symbols

---
 libstdc++-v3/config/os/gnu-linux/os_defines.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libstdc++-v3/config/os/gnu-linux/os_defines.h b/libstdc++-v3/config/os/gnu-linux/os_defines.h
index 4ae4075..105f691 100644
--- a/libstdc++-v3/config/os/gnu-linux/os_defines.h
+++ b/libstdc++-v3/config/os/gnu-linux/os_defines.h
@@ -36,6 +36,10 @@
 // This keeps isanum, et al from being propagated as macros.
 #define __NO_CTYPE 1
 
+// Use weak ELF symbols in order to redefine global new/delete operator
+// when linking statically.
+#define _GLIBCXX_WEAK_DEFINITION __attribute__ ((weak))
+
 #include <features.h>
 
 // Provide a declaration for the possibly deprecated gets function, as
-- 
1.8.1

