I cannot find the "linux" definition in arm

From: Liuweni
Date: Fri Nov 27 2009 - 21:42:58 EST


hi all,
the s3c2410_defconfig cannot compile with the SEGMENT_SIZE is missing in the s/binfmt_aout.c.
In the line 270 fs/binfmt_aout.c, the function will call a macro "N_DATADDR". The N_DATADDR is defined as the following, in the include/linux/a.out.h
------
#ifndef N_DATADDR
#define N_DATADDR(x) \
(N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x)) \
: (_N_SEGMENT_ROUND (_N_TXTENDADDR(x))))
#endif
------
And the definition of _N_SEGMENT_ROUND(x) is ALIGN(x, SEGMENT_SIZE).
Then, there is a macro SEGMENT_SIZE.

I search the definition of SEGMENT_SIZE, it's only in the include/linux/a.out.h
Maybe the SEGMENT is defined as
---
#ifdef linux
#ifdef __KERNEL__
#include <asm/page.h>
#else
#include <unistd.h>
#endif
#if defined(__i386__) || defined(__mc68000__)
#define SEGMENT_SIZE 1024
#else
#ifndef SEGMENT_SIZE
#ifdef __KERNEL__
#define SEGMENT_SIZE PAGE_SIZE
#else
#define SEGMENT_SIZE getpagesize()
#endif
#endif
#endif
#endif
---
But I cannot find the definition of linux. And the SEGMENT_SIZE is not defined.

what should I do? remove binfmt in the arch/arm/Kconfig, change
include/linux/a.out.h, or other ?


BTW, the x86 is OK, but also I cannot find the definition of "linux"

--------------
Best regards,
Liuweni
2009-11-28

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/