Debian Bug report logs -
#22513
g++ problem with -fno-implement-inlines
Reported by: Avery Pennarun <apenwarr@worldvisions.ca>
Date: Sat, 16 May 1998 19:33:03 UTC
Severity: fixed
Found in version 2.90.28-0.1
Done: Matthias Klose <doko@cs.tu-berlin.de>
Bug is archived. No further changes may be made.
Forwarded to egcs-bugs@cygnus.com
Toggle useless messages
Report forwarded to debian-bugs-dist@lists.debian.org, Galen Hazelwood <galenh@micron.net>
:
Bug#22513
; Package g++
.
(full text, mbox, link).
Acknowledgement sent to Avery Pennarun <apenwarr@worldvisions.ca>
:
New bug report received and forwarded. Copy sent to Galen Hazelwood <galenh@micron.net>
.
(full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: g++
Version: 2.90.28-0.1
Hi there,
I'm including a short program below. It demonstrates two bugs in Debian's
current gcc/eg++ system.
(1) There is a problem with -fno-implement-inlines:
~ $ g++ -O6 -fno-implement-inlines foo.cc
/tmp/cca094331.o(.rodata+0x34): undefined reference to `B::~B(void)'
collect2: ld returned 1 exit status
~ $ g++ -O6 foo.cc
(success)
(2) libgcc in the 'gcc' installation is incompatible with the egcs one:
~ $ g++ foo.cc -c
~ $ gcc foo.o
foo.o: In function `B::B(void)':
foo.o(.text+0xfd): undefined reference to `_eh_pc'
foo.o(.text+0x106): undefined reference to `_throw'
foo.o(.text+0x131): undefined reference to `terminate(void)'
foo.o: In function `Main':
foo.o(.text+0x1f0): undefined reference to `_eh_pc'
foo.o(.text+0x1f9): undefined reference to `_throw'
foo.o(.text+0x202): undefined reference to `_eh_pc'
foo.o(.text+0x20b): undefined reference to `_throw'
foo.o(.text+0x231): undefined reference to `terminate(void)'
foo.o: In function `B type_info function':
foo.o(.text+0x273): undefined reference to `_rtti_si'
foo.o: In function `A type_info function':
foo.o(.text+0x2d7): undefined reference to `_rtti_user'
~ $ gcc foo.o /usr/lib/gcc-lib/i486-linux/egcs-2.90.28/libgcc.a
(success)
The source code for my test program follows. Thanks for any help you can
provide.
Have fun,
Avery
/* foo.cc */
#include <stdio.h>
class A
{
public:
A();
virtual ~A();
};
class B : public A
{
public:
B();
virtual void chicken();
};
A::A()
{
printf("Hello, A\n");
}
A::~A()
{
printf("Goodbye, A\n");
}
B::B()
{
printf("Hello, B\n");
}
void B::chicken()
{
printf("B chicken\n");
}
int main()
{
B b;
b.chicken();
return 0;
}
Information forwarded to debian-bugs-dist@lists.debian.org, Galen Hazelwood <galenh@micron.net>
:
Bug#22513
; Package g++
.
(full text, mbox, link).
Acknowledgement sent to Dirk Eddelbuettel <edd@debian.org>
:
Extra info received and forwarded to list. Copy sent to Galen Hazelwood <galenh@micron.net>
.
(full text, mbox, link).
Message #10 received at submit@bugs.debian.org (full text, mbox, reply):
Avery> Package: g++
Avery> Version: 2.90.28-0.1
[...]
Avery> (2) libgcc in the 'gcc' installation is incompatible with the egcs
Avery> one:
[stuff deleted which shows that gcc doesn't find the C++ libs]
You want egcc as you're mixing the front-end (egcc) with the C++ backend :
edd@miles:/tmp> egcc foo.cc -o foo
edd@miles:/tmp> ./foo
Hello, A
Hello, B
B chicken
Goodbye, A
I was bitten by the same thing last night with a new Octave built. We have
'gcc' from gcc-2.7.x, and 'egcc' from egcs. If you mix C and C++ (and
Fortran), you probably want 'CC=egcc' in your Makefile. At least, that's what
helped me with Octave.
--
mailto:edd@debian.org According to the latest official figures,
http://rosebud.ml.org/~edd 43% of all statistics are totally worthless.
Information forwarded to debian-bugs-dist@lists.debian.org, Galen Hazelwood <galenh@micron.net>
:
Bug#22513
; Package g++
.
(full text, mbox, link).
Acknowledgement sent to Dirk Eddelbuettel <edd@debian.org>
:
Extra info received and forwarded to list. Copy sent to Galen Hazelwood <galenh@micron.net>
.
(full text, mbox, link).
Information forwarded to debian-bugs-dist@lists.debian.org, Galen Hazelwood <galenh@micron.net>
:
Bug#22513
; Package g++
.
(full text, mbox, link).
Acknowledgement sent to Avery Pennarun <apenwarr@worldvisions.ca>
:
Extra info received and forwarded to list. Copy sent to Galen Hazelwood <galenh@micron.net>
.
(full text, mbox, link).
Message #20 received at 22513@bugs.debian.org (full text, mbox, reply):
On Sat, May 16, 1998 at 04:08:00PM -0400, Dirk Eddelbuettel wrote:
> Avery> Package: g++
> Avery> Version: 2.90.28-0.1
>
> [...]
>
> Avery> (2) libgcc in the 'gcc' installation is incompatible with the egcs
> Avery> one:
>
> [stuff deleted which shows that gcc doesn't find the C++ libs]
>
> You want egcc as you're mixing the front-end (egcc) with the C++ backend :
>
> edd@miles:/tmp> egcc foo.cc -o foo
> edd@miles:/tmp> ./foo
> Hello, A
> Hello, B
> B chicken
> Goodbye, A
Perhaps, but I think it's a bug that I should have to do this. Normal
people (not Debian maintainers) will be trying to compile things with the
Debian compiler setup, and this is needlessly(?) confusing.
Thanks for the response though. The solution I'm currently using is even
hackier: I edited /usr/lib/gcc-lib/i486-linux/2.7.2.3/specs to link in the
egcs-2.90.28 version of libgcc.a, as well as its own. This eliminates the
undefined references.
It should be allowable to compile an object file with g++ and then link it
with gcc, as long as the stdc++ features aren't in use. It always worked
before. I do this in my programs to avoid linking uselessly with libstdc++.
Thanks for your message,
Avery
Noted your statement that bug has been forwarded to egcs-bugs@cygnus.com.
Request was from jdassen@wi.leidenuniv.nl
to control@bugs.debian.org
.
(full text, mbox, link).
Information forwarded to debian-bugs-dist@lists.debian.org, Galen Hazelwood <galenh@micron.net>
:
Bug#22513
; Package g++
.
(full text, mbox, link).
Acknowledgement sent to list@ListMe.com
:
Extra info received and forwarded to list. Copy sent to Galen Hazelwood <galenh@micron.net>
.
(full text, mbox, link).
Message #27 received at 22513@bugs.debian.org (full text, mbox, reply):
To: 22513@bugs.debian.org
Is your site listed with the top search engines? ListMe will
list you with 50 search engines and indexes for $90.
Satisfaction guaranteed!
Search engines are the only way most people have to find internet sites.
But if your site is not listed, no one will find it.
ListMe will submit your site for listing in the top 50 search engines for $90.
Here's how it works:
1. Complete and return the form below.
2. We'll post your site to 50 search engines within two business days, and
we'll send you a submission report when we're finished.
3. Pay nothing now. We'll send you an invoice after we've completed the posting.
Your satisfaction is guaranteed!
These are permanent listings. The $90 is a one-time fee.
WHICH SEARCH ENGINES?
Here's the list:
Infoseek, Lycos, Excite, Alta Vista, Galaxy, HotBot, Magellan, Open
Text Web Index, Web Crawler, BizWeb, New Riders WWW Yellow Pages,
YelloWWWeb, True North, Northern Light, LinkMonster, The Weekly Bookmark,
Seven Wonders, Jayde Online Directory, Starting Point, Web 100, Web Walker,
New Page List, PeekABoo, One World Plaza, PageHost A-Z, Net-Announce,
Project Cool, Where2Go, World Wide Business Yellow Pages, Sserv,
Wow! Web Wonders!, WWW Worm, JumpCity, The Galactic Galaxy, TurnPike,
Unlock:The Information Exchange, Your WebScout, Manufacturers Information
Network, Net Happenings, Net Mall, Web World Internet Directory,
InfoSpace, BC Internet, BizCardz Business Directory, Scrub The Web,
WebVenture, Hotlist, What's New, WhatUSeek, JumpLink, Linkcentre Directory.
ORDER FORM (or use our convenient on-line order form at "www.listme.com")
Hit the REPLY button on your e-mail program and fill out the following information.
(This information will be posted to the search engines/indexes):
Contact name:
Company Name:
Address:
City: State/Prov: Zip/Postal Code:
Telephone:
Fax:
Email address:
Contact e-mail address (in case we have questions about this order):
URL: http://
Site Title:
Description (250 characters):
Key words (250 characters, in descending order of importance):
If billing a different address, please complete the following:
Addressee:
Company Name:
Address:
City: State/Prov: Zip/Postal Code:
Telephone:
Fax:
Email address:
TERMS
Terms are net 15 days from date of invoice.
______________________________________________________________________
ListMe, Inc.
1127 High Ridge Road - Suite 184
Stamford CT 06905
Phone: (203) 326-8519
Fax: (203) 322-4505
E-mail: list@listme.com
URL: www.listme.com
Information forwarded to debian-bugs-dist@lists.debian.org, Galen Hazelwood <galenh-egcs@debian.org>
:
Bug#22513
; Package g++
.
(full text, mbox, link).
Acknowledgement sent to Matthias Klose <doko@cs.tu-berlin.de>
:
Extra info received and forwarded to list. Copy sent to Galen Hazelwood <galenh-egcs@debian.org>
.
(full text, mbox, link).
Message #32 received at 22513@bugs.debian.org (full text, mbox, reply):
The first part of this bug is fixed in the egcs-1.1.1 prerelease (see
http://master.debian.org/~doko/egcs-i386).
Not sure with the second part. I added a paragraph to the
README.Debian file, which already describes this situation.
Not sure if this bug can be closed as long as Debian provides two
compiler versions. Another solution would be the editing of the gcc
specs; but this would mean a new gcc27 package with every egcs
release.
Severity set to `fixed'.
Request was from Matthias Klose <doko@debian.org>
to control@bugs.debian.org
.
(full text, mbox, link).
Reply sent to Matthias Klose <doko@cs.tu-berlin.de>
:
You have taken responsibility.
(full text, mbox, link).
Notification sent to Avery Pennarun <apenwarr@worldvisions.ca>
:
Bug acknowledged by developer.
(full text, mbox, link).
Message #39 received at 22513-done@bugs.debian.org (full text, mbox, reply):
These bugs are fixed in the gcc-2.95.1-0pre1 and related g++,
libstdc++, cpp packages. Binary packages are currently uploaded for
the i386-hurd architecture.
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Sat May 4 21:00:56 2024;
Machine Name:
buxtehude
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.