From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23912 invoked by alias); 8 May 2002 18:26:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 23897 invoked by uid 71); 8 May 2002 18:26:01 -0000 Date: Wed, 08 May 2002 11:26:00 -0000 Message-ID: <20020508182601.23896.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: "Ralf W. Grosse-Kunstleve" Subject: Re: other/6602: GCC/Linux shared lib + EH bug example Reply-To: "Ralf W. Grosse-Kunstleve" X-SW-Source: 2002-05/txt/msg00237.txt.bz2 List-Id: The following reply was made to PR other/6602; it has been noted by GNATS. From: "Ralf W. Grosse-Kunstleve" To: c++-sig@python.org, gcc-gnats@gcc.gnu.org Cc: loewis@informatik.hu-berlin.de Subject: Re: other/6602: GCC/Linux shared lib + EH bug example Date: Wed, 8 May 2002 11:23:02 -0700 (PDT) Martin v. Loewis wrote: > Looking at your example gcc_dl_eh: Can you please try to not define > the worker_error dtor inline? I.e. implement it in libcore.cpp > instead; I'd be curious whether this changes anything. It does not change the outcome. See attached. Thanks, Ralf % make gcc -g -c master.c gcc -o master master.o -ldl g++ -g -c ext1.cpp g++ -g -c libcore.cpp g++ -shared -Wl,-E -o libcore.so libcore.o g++ -shared -Wl,-E -o ext1.so ext1.o libcore.so g++ -g -c ext2.cpp g++ -shared -Wl,-E -o ext2.so ext2.o libcore.so ********************************************************* LD_LIBRARY_PATH=.:/usr/local_cci/gcc-3.0.4/lib master G 1 dlopen flag: RTLD_GLOBAL init_ext1 init_ext2 run1 mycore::dispatcher ext1::worker now throwing worker_error() success catching worker_error run2 mycore::dispatcher ext2::worker now throwing worker_error() success catching worker_error ********************************************************* LD_LIBRARY_PATH=.:/usr/local_cci/gcc-3.0.4/lib master G 2 dlopen flag: RTLD_GLOBAL init_ext2 init_ext1 run1 mycore::dispatcher ext1::worker now throwing worker_error() success catching worker_error run2 mycore::dispatcher ext2::worker now throwing worker_error() success catching worker_error ********************************************************* LD_LIBRARY_PATH=.:/usr/local_cci/gcc-3.0.4/lib master L 1 dlopen flag: RTLD_LOCAL init_ext1 init_ext2 run1 mycore::dispatcher ext1::worker now throwing worker_error() success catching worker_error run2 mycore::dispatcher ext2::worker now throwing worker_error() ################################# # # # FAILURE catching worker_error # # # ################################# ********************************************************* LD_LIBRARY_PATH=.:/usr/local_cci/gcc-3.0.4/lib master L 2 dlopen flag: RTLD_LOCAL init_ext2 init_ext1 run1 mycore::dispatcher ext1::worker now throwing worker_error() ################################# # # # FAILURE catching worker_error # # # ################################# run2 mycore::dispatcher ext2::worker now throwing worker_error() success catching worker_error __________________________________________________ Do You Yahoo!? Yahoo! Health - your guide to health and wellness http://health.yahoo.com