patches/strace/4.5.17/190-dirent-include.patch
author Johannes Stezenbach <js@sig21.net>
Thu Jul 29 19:47:16 2010 +0200 (2010-07-29)
changeset 2045 fdaa6c7f6dea
permissions -rw-r--r--
cc/gcc: add option to compile against static libstdc++, for gcc-4.4 and newer

Idea and know-how taken from CodeSourcery build script.

Normal build:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb77f3000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb76e8000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb75a1000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb757a000)
/lib/ld-linux.so.2 (0xb77f4000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb755c000)

CC_STATIC_LIBSTDCXX=y:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb7843000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb76e6000)
/lib/ld-linux.so.2 (0xb7844000)

I made CC_STATIC_LIBSTDCXX default=y since I think
it is always desirable.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
     1 --- strace-orig/file.c	2008/05/20 04:56:18	1.92
     2 +++ strace/file.c	2008/08/01 01:13:10	1.93
     3 @@ -28,21 +28,22 @@
     4   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     5   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     6   *
     7 - *	$Id: file.c,v 1.92 2008/05/20 04:56:18 roland Exp $
     8 + *	$Id: file.c,v 1.93 2008/08/01 01:13:10 roland Exp $
     9   */
    10  
    11  #include "defs.h"
    12  
    13  #include <dirent.h>
    14 +
    15  #ifdef LINUX
    16 -#define dirent kernel_dirent
    17 -#define dirent64 kernel_dirent64
    18 -#include <linux/types.h>
    19 -#include <linux/dirent.h>
    20 -#undef dirent
    21 -#undef dirent64
    22 +struct kernel_dirent {
    23 +	unsigned long   d_ino;
    24 +	unsigned long   d_off;
    25 +	unsigned short  d_reclen;
    26 +	char            d_name[1];
    27 +};
    28  #else
    29 -#define kernel_dirent dirent
    30 +# define kernel_dirent dirent
    31  #endif
    32  
    33  #ifdef LINUX