| File: devel/glibc/files/gar-base.diff | |
|---|---|
| base-0 | patch-1 |
| Line 1 | Line 1 |
| diff -Nru tmp/glibc-2.2.5/sysdeps/unix/sysv/linux/bits/in.h work/glibc-2.2.5/sysdeps/unix/sysv/linux/bits/in.h --- tmp/glibc-2.2.5/sysdeps/unix/sysv/linux/bits/in.h Thu Jul 5 21:56:14 2001 +++ work/glibc-2.2.5/sysdeps/unix/sysv/linux/bits/in.h Thu Jul 4 23:59:43 2002 @@ -63,11 +63,36 @@ /* Structure used to describe IP options for IP_OPTIONS. The `ip_dst' field is used for the first-hop gateway when using a source route (this gets put into the header proper). */ -struct ip_opts - { - struct in_addr ip_dst; /* First hop; zero without source route. */ - char ip_opts[40]; /* Actually variable in size. */ - }; +/* struct ip_opts + { + struct in_addr ip_dst; + char ip_opts[40]; + }; */ | diff --speed-large-files --minimal -Nru tmp/glibc-2.3.2/Makerules work/main.d/glibc-2.3.2/Makerules --- tmp/glibc-2.3.2/Makerules Sat Feb 22 15:23:31 2003 +++ work/main.d/glibc-2.3.2/Makerules Tue Aug 12 00:45:55 2003 @@ -605,8 +605,11 @@ LDLIBS-c.so += $(gnulib) # Give libc.so an entry point and make it directly runnable itself. LDFLAGS-c.so += -e __libc_main -# Force the backward compatibility EH functions to be linked. -LDFLAGS-c.so += -u __register_frame |
| + | + |
| +/* In ANSI C++, a struct may not have a member with the same name as the + * struct. This rule is ignored by g++ in header files included from + * standard system include paths, but not files included via -I. The result + * is that a C++ program which includes <netinet/in.h> and gets the present + * file in a -I specified include directory will fail to compile. (lftp is + * one example of such a program.) + * + * One solution provided by + * + * http://www.monkey.org/openbsd/archive/bugs/9812/msg00097.html + * + * is used below. If you want the original definition, it's commented out + * immediately above. */ + +struct ip_opts { + struct in_addr ip_dst; /* first hop, 0 w/o src rt */ +#if defined(__cplusplus) +#warning ip_opts structure for C++ MODIFIED by LNX-BBC; see <bits/in.h>! + char Ip_opts[40]; /* cannot have same name as class */ +#else + char ip_opts[40]; /* actually variable in size */ +#endif +}; | +# Force the backward compatibility EH functions to be linked. -Zack Weinberg +# Take it out because it fills up libc.so.lds with linker errors. -Nate Riffe +#LDFLAGS-c.so += -u __register_frame |
| + | + |
| # Pre-link the objects of libc_pic.a so that we can locally resolve # COMMON symbols before we link against ld.so. This is because ld.so # contains some of libc_pic.a already, which will prevent the COMMONs diff --speed-large-files --minimal -Nru scratch/glibc-2.3.2/configure work/main.d/glibc-2.3.2/configure --- scratch/glibc-2.3.2/configure 2003-02-26 03:20:48.000000000 -0600 +++ work/main.d/glibc-2.3.2/configure 2003-08-06 17:33:50.000000000 -0500 @@ -2271,10 +2271,7 @@ echo $ECHO_N "checking version of $CC... $ECHO_C" >&6 ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'` case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 3.[2-9]*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + *) ac_prog_version="$ac_prog_version, fine"; ac_verc_fail=no;; | |
| | |
| /* Structure used for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. */ struct ip_mreq | esac echo "$as_me:$LINENO: result: $ac_prog_version" >&5 |