Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Sep 1998 19:05:09 +0200
From:      Frank Nobis <fn@radio-do.de>
To:        freebsd-current@FreeBSD.ORG
Subject:   Bug in elf c++
Message-ID:  <19980918190509.A2708@radio-do.de>

next in thread | raw e-mail | index | archive | help
Taken from the configure script of groff, I found a bug in the elf
version of c++.

Here is the example:

#ifdef __cplusplus
extern "C" void exit(int);
#endif

extern "C" {
  void _exit(int);
}
int i;
struct A {
  char dummy;
  A() { i = 1; }
  ~A() { if (i == 1) _exit(0); }
};
volatile A a;
int main() { return 1; }

Compile it with 'c++ -aout' and the exit value is 0.
Compile it just with 'c++' and the exit value is 1!

This leads to a bug in the groff package. Since the constructors
for some global class instances are not called, the default value
for font_path is not set and therefore groff fails to format any
man page.

Regards
	Frank
-- 
 Frank Nobis                            Email: PGP AVAILABLE
 Landgrafenstr. 130                     dg3dcn   http://www.radio-do.de/~fn/
 44139 Dortmund				Powered by FreeBSD


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message





To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980918190509.A2708>