Bug 25553 - pread function versioned incorrectly
Summary: pread function versioned incorrectly
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: glibc   
(Show other bugs)
Version: 7.0
Hardware: i386 Linux
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Aaron Brown
Depends On:
TreeView+ depends on / blocked
Reported: 2001-02-01 22:36 UTC by Ben LaHaise
Modified: 2016-11-24 15:11 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2001-02-01 22:36:46 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Ben LaHaise 2001-02-01 22:36:43 UTC
Compiling the following test program on an RH7 or 7.1beta machine results
in a program that does not run on a 6.2 box, even though the pread function
definition has not changed.

gcc -Wall -lpthread -lrt -o pread_test pread_test.c

int main()
	char buf[256];
	pread(0, buf, 0, 0);
	return 0;

Comment 1 Jakub Jelinek 2001-02-02 15:43:40 UTC
It has changed, because in glibc 2.1.3 and below it had no linuxthreads
wrapper. And no matter what, symbol versioning is about upward binary
compatibility so older binaries work with newer libc, not vice versa.
pread and family could not be put into GLIBC_2.1.3 because 2.1.3 was released,
and e.g. rpm would be severely confused if we started adding symbols @GLIBC_2.1

Note You need to log in before you can comment on or make changes to this bug.