bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug#190953: bug found (in libc)


From: Aurelien Jarno
Subject: Re: Bug#190953: bug found (in libc)
Date: Sun, 19 Feb 2006 00:15:34 +0100
User-agent: Mutt/1.5.11+cvs20060126

Hi !

On Sun, Apr 27, 2003 at 03:45:58PM +0200, Robert Millan wrote:
> Package: libc0.3-dev
> Severity: normal
> Tags: patch
> 
> On Sun, Apr 27, 2003 at 03:27:45PM +0200, Niels Möller wrote:
> > Robert Millan <zeratul2@wanadoo.es> writes:
> > 
> > > that's offtopic. i don't mind if you want to discuss wether we have
> > > the goal of binary compatibilty,
> > 
> > Well, until I'm told otherwise, I believe binary compatibility *is* a
> > goal, and for the not very distant future (in particular as we now (?)
> > have pthreads on the Hurd). So I'll consider any glibc differences
> > that prevent that as bugs. But perhaps it should be a different bug in
> > the bugtracking system.
> 
> ok, i'm reporting another bug. if you want to add more info to it,
> use n@bugs.debian.org where n is the newly created bug's number.
> 
> Description:
> 
> the following differences in <bits/sockaddr.h> break binary compatibility
> between GNU and GNU/Linux.

Why do you want to achieve a binary compatibility between GNU and
GNU/Linux? Could you please give me an example where it is useful?

> note that this patch SUPERCEEDS the changes in bug #187391 (see the
> bottom of the bug log). so if you choose to apply this patch, that
> will close bug #187391 too.
> 
> --- /include/bits/sockaddr.h    2002-11-20 01:41:35.000000000 +0100
> +++ /gli/usr/include/bits/sockaddr.h    2003-04-19 20:56:39.000000000 +0200
> @@ -1,5 +1,5 @@
> -/* Definition of `struct sockaddr_*' common members.  4.4 BSD version.
> -   Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation, Inc.
> +/* Definition of `struct sockaddr_*' common members.  Generic/4.2 BSD 
> version.
> +   Copyright (C) 1995,1996,1997,1998,2000,2001 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>   
>     The GNU C Library is free software; you can redistribute it and/or
> @@ -26,18 +26,15 @@
>   
>   
>  /* POSIX.1g specifies this type name for the `sa_family' member.  */
> -typedef unsigned char sa_family_t;
> +typedef unsigned short int sa_family_t;
>   
>  /* This macro is used to declare the initial common members
>     of the data types used for socket addresses, `struct sockaddr',
>     `struct sockaddr_in', `struct sockaddr_un', etc.  */
>   
> -#define        __SOCKADDR_COMMON(sa_prefix)    \
> -  unsigned char sa_prefix##len;                \
> +#define        __SOCKADDR_COMMON(sa_prefix) \
>    sa_family_t sa_prefix##family
>                                                                               
>   
> -#define __SOCKADDR_COMMON_SIZE (2 * sizeof (unsigned char))
> -
> -#define _HAVE_SA_LEN   1       /* We have the sa_len field.  */
> +#define __SOCKADDR_COMMON_SIZE (sizeof (unsigned short int))
>                                                                               
>   
>  #endif /* bits/sockaddr.h */

This patch will break the ABI, and is therefore unacceptable, unless you
change the soname of the libc. Moreover the sockaddr* structures are
passed to the kernel, and thus should match the kernel definitions, not
the one you would like to see.

In the current state such a patch is not acceptable, and will not work.
I think this bug report should be closed.

Bye,
Aurelien

-- 
  .''`.  Aurelien Jarno             | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net




reply via email to

[Prev in Thread] Current Thread [Next in Thread]