yann@1: See http://gcc.gnu.org/ml/gcc/2003-08/msg00959.html yann@1: yann@1: Compiling glibc-2.3.2 with a gcc-3.4 snapshot, I'm seeing yann@1: a whole bunch of warnings like this: yann@1: yann@1: ../string/bits/string2.h:80: warning: `packed' attribute ignored yann@1: ../string/bits/string2.h:81: warning: `packed' attribute ignored yann@1: ... yann@1: yann@1: Looks like it was bad code that was silently ignored by previous compilers. yann@1: Ulrich fixed it as follows: yann@1: yann@1: =================================================================== yann@1: RCS file: /cvs/glibc/libc/string/bits/string2.h,v yann@1: retrieving revision 1.68 yann@1: retrieving revision 1.69 yann@1: diff -u -r1.68 -r1.69 yann@1: --- libc/string/bits/string2.h 2002/05/25 06:10:18 1.68 yann@1: +++ libc/string/bits/string2.h 2003/08/20 00:07:37 1.69 yann@1: @@ -1,5 +1,5 @@ yann@1: /* Machine-independant string function optimizations. yann@1: - Copyright (C) 1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc. yann@1: + Copyright (C) 1997-2002, 2003 Free Software Foundation, Inc. yann@1: This file is part of the GNU C Library. yann@1: Contributed by Ulrich Drepper , 1997. yann@1: yann@1: @@ -76,7 +76,7 @@ yann@1: use unaligned memory accesses. */ yann@1: # define __STRING2_COPY_TYPE(N) \ yann@1: typedef struct { unsigned char __arr[N]; } \ yann@1: - __STRING2_COPY_ARR##N __attribute__ ((packed)) yann@1: + __attribute__ ((__packed__)) __STRING2_COPY_ARR##N yann@1: __STRING2_COPY_TYPE (2); yann@1: __STRING2_COPY_TYPE (3); yann@1: __STRING2_COPY_TYPE (4);