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