This is the mail archive of the libc-alpha@cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Fwd: Bug#35023: libc6: C++ incompatibility bug


[ Please keep 35023-forwarded@bugs.debian.org in the cc list so the 
Debian Bug Tracking System can record replies. ]

I have another forward related to this coming.

--- begin forwarded text
Envelope-to: jk@espy.org
Delivered-To: espy@debian.org
Subject: Bug#35023: libc6: C++ incompatibility bug
Reply-To: Jason Gunthorpe <jgg@gpu.srv.ualberta.ca>, 35023@bugs.debian.org
Resent-From: Jason Gunthorpe <jgg@gpu.srv.ualberta.ca>
Orignal-Sender: "Jason Gunthorpe,,," <jgg@wakko.deltatee.com>
Resent-To: debian-bugs-dist@lists.debian.org
Resent-CC: Joel Klecker and others <debian-glibc@lists.debian.org>
Resent-Date: Thu, 25 Mar 1999 00:48:02 GMT
X-Debian-PR-Message: report 35023
X-Debian-PR-Package: libc6
X-Debian-PR-Keywords:
X-Loop: owner@bugs.debian.org
From: Jason Gunthorpe <jgg@gpu.srv.ualberta.ca>
To: submit@bugs.debian.org
Sender: "Jason Gunthorpe,,," <jgg@wakko.deltatee.com>
Date: Wed, 24 Mar 1999 17:47:54 -0700
X-Mailing-List: <debian-glibc@lists.debian.org> archive/latest/235
X-Loop: debian-glibc@lists.debian.org
Resent-Sender: debian-glibc-request@lists.debian.org
Status:

Package: libc6
Version: 2.1.1-0.1

I have created a test case derived from the code in APT that when runs on
glibc 2.1 without recompilation fails. The test case is very simple:

#include <iostream>
#include <fstream>

void die(const char *S)
{
   cerr << S << endl;
   exit(1);
}

int main(int argc,const char *argv[])
{
   ifstream F(argv[1],ios::in | ios::nocreate);

   if (!F != 0)
      die("!F #1");

   streampos Off = F.tellg();
   if (!F != 0)
      die("!F #2");

   return 0;
}

Results on glibc2.1 using 2.0 compiled binary..

[..]

open("/var/state/apt/lists/mirror_debian_dists_potato_main_binary-i386 
_Packages",O_RDONLY)=3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40014000
_llseek(3, 4294967296, 0xbffffb10, 0x4016521c /* SEEK_??? */) = -1 EINVAL
(Invalid argument)
write(2, "!F #2", 5!F #2)                    = 5
write(2, "\n", 1
)                       = 1
_exit(1)                                = ?


Results on glibc2.1 using a 2.1 compiled binary..

[..]

open("/var/state/apt/lists/mirror_debian_dists_potato_main_binary-i386 
_Packages",O_RDONLY|0x8000)=3
fstat(3, {st_mode=0, st_size=0, ...})   = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40014000
_llseek(3, 0, {0}, SEEK_CUR)            = 0
close(3)                                = 0
munmap(0x40014000, 4096)                = 0
_exit(0)                                = ?

The key difference appears to be in how llseek is called. I belive that if
this is fixed APT 0.1.10 will run without recompilation on glibc2.1.

This bug may be related to #34953

Jason


--
To UNSUBSCRIBE, email to debian-glibc-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
--- end forwarded text


--
Joel Klecker (aka Espy)                     <URL:http://web.espy.org/>
<URL:mailto:jk@espy.org>                  <URL:mailto:espy@debian.org>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]