lkml.org 
[lkml]   [2009]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectI cannot find the "linux" definition in arm
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



\
 
 \ /
  Last update: 2009-11-28 03:45    [W:0.024 / U:0.472 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site