This is the mail archive of the glibc-bugs@sourceware.org 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]
Other format: [Raw text]

[Bug libc/2486] New: <netinet/in.h> does not compile in C++. Patch with conventional fix available.


This is a classic, longstanding bug in all versions of glibc
and many other C libraries.  The essence is that

struct ip_opts {
    ...
    char ip_opts[40]; 
    ...

is not legal C++.  The traditional way of fixing this is to
capitalize the first letter of the member when compiling for C++.
A patch which does this, and applies to all versions of glibc is at
http://www.pengutronix.de/software/ptxdist/patches-0.5.2/glibc-2.2.5/generic/glibc-2.2.5-ip_opts.patch

There have been repeated requests to fix this over the years,
but for some reason, nobody filed a glibc bug report before!
Here are a few old posts about the problem in general, and how it's
been fixed elsewhere:
http://cvs.openbsd.org/cgi-bin/query-pr-wrapper?full=yes&numbers=681
http://gcc.gnu.org/ml/gcc/2002-05/msg00791.html
http://www.cygwin.com/ml/ecos-patches/2002-06/msg00005.html
http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=19880

So, time to apply this patch in glibc head (and to the head of
the 2.3 branch, if possible)?

-- 
           Summary: <netinet/in.h> does not compile in C++.  Patch with
                    conventional fix available.
           Product: glibc
           Version: 2.4
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
        AssignedTo: drepper at redhat dot com
        ReportedBy: dank at kegel dot com
                CC: glibc-bugs at sources dot redhat dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=2486

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


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