A Linux/libc 5 patch for egcs 1.1.2

H.J. Lu hjl@varesearch.com
Fri Mar 5 00:51:00 GMT 1999


> I also checked genops.o and we have a potential problem.
> 
> Specifically, the following symbols are global in libc's genops.o, but not
> defined by libstdc++'s genops.o:
> 
> 	IO_get_column
> 	IO_least_marker
> 	IO_nobackup_pbackfail
> 	IO_set_column
> 	IO_sync
> 	IO_unbuffer_all
> 
> So, if a user's code referenced a symbol defined by both genops.o files
> (say IO_setb for the sake of argument) and a symbol defined only by libc'a
> genops.o file (let's say IO_sync for the sake of argument), then we've got
> a problem since both copies of genops.o would be linked into the program, and
> they both have a lot of global symbols in common.
> 
> 
> What is the proper way to handle this?
> 

All those functions have the leading '_'. That means
they are internal to libio. If a user uses them, they
get what they deserve. You can ask Ulrich why they are
gone. My guesses are

1. Some are internal to genops.c. They are changed to
static.
2. Some are obsolete. They are removed.

If you check genops.o in glibc 2.0 and in glibc 2.1,
you will find the same thing. Basically libio 5 still
uses the similar old genops.c as in glibc 2.0. It is
not a problem.


H.J.


More information about the Gcc-patches mailing list