[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#178343: mklibs: Seems to break C++ exceptions



Package: mklibs
Version: 0.1.8
Severity: normal

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

When run with normal libraries, this works:

		LoginCGI() : SpecialCGI(do_create_get_map | do_create_post_map) {
			try {
				SpecialReader r(CONFIG_FILE);
				cfg.Deserialize(r);
				bad_state = false;
			} catch ( ... ) {
				// Don't just use a default here because that might
				// leave us open to attack by, e.g., running the system
				// out of file descriptors.
				bad_state = true;
			}
		}

when run in the chroot built w/ mklibs, it causes an abort. CONFIG_FILE
does not exist, so SpecialReader throws an exception. SpecialReader is
part of a dynamic lib. It is built with -fpic and linked with
- -shared-libgcc:
	/usr/bin/g++-3.2 -Iinc -ansi -pedantic -Wall -Werror -march=i486 -O3
	-Os	-shared-libgcc  -shared -Xlinker -h -Xlinker "libspecial.so.1.2"
	-o "lib/libspecial.so.1.2.0" src/SpecialCGI.opic src/SpecialMap.opic
	src/SpecialTemplate.opic src/SpecialIO.opic src/SpecialUtils.opic
	src/SpecialHitlist.opic src/SpecialAccumulator.opic
	src/SpecialProblem.opic -lc

The above code which is crashing is also linked with -shared-libgcc.
Everything is compiled with "gcc version 3.2.1 20020924 (Debian prerelease)"

I've tried this in a minamal chroot made like like (with login.cgi being
the problem program and sh being dash):
mklibs -L../SpecialCGILib/lib/ -d test/lib test/bin/login.cgi test/bin/sh

- -- System Information
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux bohr 2.4.16 #2 SMP Wed Nov 28 05:25:00 EST 2001 i686
Locale: LANG=en_US, LC_CTYPE=en_US

Versions of packages mklibs depends on:
ii  binutils                  2.13.90.0.10-1 The GNU assembler, linker and bina
ii  gcc [c-compiler]          2:2.95.4-17    The GNU C compiler.
ii  gcc-2.95 [c-compiler]     1:2.95.4-11    The GNU C compiler.
ii  gcc-3.0 [c-compiler]      1:3.0.4-7      The GNU C compiler.
ii  gcc-3.2 [c-compiler]      1:3.2.1-0pre3  The GNU C compiler.
ii  libc6-pic                 2.2.5-14.3     GNU C Library: PIC archive library
ii  python                    2.1.3-4        An interactive object-oriented scr

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.0 (GNU/Linux)

iD8DBQE+MoLz+z+IwlXqWf4RApsEAJ0eKXNIV4sPkUcBytiQD4nl1A3H9wCfaUne
gtKyof5TmJAKEBu5FWuOiIo=
=a57P
-----END PGP SIGNATURE-----



Reply to: