public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: Compile error including asm/uaccess.h
@ 2003-05-14 13:37 ismail donmez
  2003-05-14 14:19 ` Stephen Torri
  0 siblings, 1 reply; 6+ messages in thread
From: ismail donmez @ 2003-05-14 13:37 UTC (permalink / raw)
  To: storri; +Cc: linux-kernel

<snip>
In file included from /usr/include/linux/sched.h:14,
                 from /usr/include/asm/uaccess.h:8,
                 from test.cpp:1:
/usr/include/linux/timex.h:173: field `time' has incomplete type
In file included from /usr/include/linux/sched.h:17,
                 from /usr/include/asm/uaccess.h:8,
                 from test.cpp:1:
/usr/include/asm/system.h:238: parse error before `new'
/usr/include/asm/system.h: In function `long unsigned int
__cmpxchg(...)':
/usr/include/asm/system.h:241: `size' undeclared (first use this
function)
/usr/include/asm/system.h:241: (Each undeclared identifier is reported
only 
   once for each function it appears in.)
/usr/include/asm/system.h:245: parse error before `)' token
/usr/include/asm/system.h:251: parse error before `)' token
/usr/include/asm/system.h:257: parse error before `)' token
/usr/include/asm/system.h:261: `old' undeclared (first use this
function)
</snip>

Dont include kernel headers in userspace OR define the needed variables to  make your userspace application compile.

Nice report btw 

/ismail


^ permalink raw reply	[flat|nested] 6+ messages in thread
* Re: Compile error including asm/uaccess.h
@ 2003-05-14 13:34 ismail donmez
  0 siblings, 0 replies; 6+ messages in thread
From: ismail donmez @ 2003-05-14 13:34 UTC (permalink / raw)
  To: storri; +Cc: bug-glibc, linux-kernel

<snip>
====== Errors (C++) ==========

In file included from /usr/include/linux/sched.h:14,
                 from /usr/include/asm/uaccess.h:8,
                 from test.cpp:1:
/usr/include/linux/timex.h:173: field `time' has incomplete type
In file included from /usr/include/linux/sched.h:17,
                 from /usr/include/asm/uaccess.h:8,
                 from test.cpp:1:
/usr/include/asm/system.h:238: parse error before `new'
/usr/include/asm/system.h: In function `long unsigned int
__cmpxchg(...)':
/usr/include/asm/system.h:241: `size' undeclared (first use this
function)
/usr/include/asm/system.h:241: (Each undeclared identifier is reported
only 

</snip>

Well rule of thumb says "Do not include kernel headers in userspace" second rule of thumb says "if you have to do so take care of variables that is need to be defined..."


^ permalink raw reply	[flat|nested] 6+ messages in thread
* Compile error including asm/uaccess.h
@ 2003-05-14  0:10 Stephen Torri
  2003-05-14 14:35 ` Ahmed Masud
  0 siblings, 1 reply; 6+ messages in thread
From: Stephen Torri @ 2003-05-14  0:10 UTC (permalink / raw)
  To: bug-glibc; +Cc: Linux Kernel

[-- Attachment #1: Type: text/plain, Size: 8761 bytes --]

    GLIBC VERSION: 2.3.1

    HOST MACHINE and OPERATING SYSTEM: i686 Gentoo Linux 1.4.2.9

    KERNEL VERSION: 2.4.18

    TARGET MACHINE and OPERATING SYSTEM, if different from HOST: Same

    COMPILER NAME AND VERSION (AND PATCHLEVEL): g++ 3.2.2

    DOES THE PROBLEM AFFECT:
        COMPILATION? Yes.
        LINKING? No
        EXECUTION? No
        OTHER (please specify)? No

    SYNOPSIS:

Receiving a compiler error when attempting to include asm/uacccess.h

    DESCRIPTION:

I am compiling a program that is written in C++ so the g++ compiler is
being used to compile the source. On of the headers of a dependent
library is including asm/uaccess.h. When I attempt to compile this
program I get parse errors.

====== Errors (C++) ==========

In file included from /usr/include/linux/sched.h:14,
                 from /usr/include/asm/uaccess.h:8,
                 from test.cpp:1:
/usr/include/linux/timex.h:173: field `time' has incomplete type
In file included from /usr/include/linux/sched.h:17,
                 from /usr/include/asm/uaccess.h:8,
                 from test.cpp:1:
/usr/include/asm/system.h:238: parse error before `new'
/usr/include/asm/system.h: In function `long unsigned int
__cmpxchg(...)':
/usr/include/asm/system.h:241: `size' undeclared (first use this
function)
/usr/include/asm/system.h:241: (Each undeclared identifier is reported
only 
   once for each function it appears in.)
/usr/include/asm/system.h:245: parse error before `)' token
/usr/include/asm/system.h:251: parse error before `)' token
/usr/include/asm/system.h:257: parse error before `)' token
/usr/include/asm/system.h:261: `old' undeclared (first use this
function)
In file included from /usr/include/asm/smp.h:15,
                 from /usr/include/linux/smp.h:14,
                 from /usr/include/linux/sched.h:23,
                 from /usr/include/asm/uaccess.h:8,
                 from test.cpp:1:
/usr/include/asm/fixmap.h: At global scope:
/usr/include/asm/fixmap.h:77: type specifier omitted for parameter
`pgprot_t'
/usr/include/asm/fixmap.h:77: parse error before `)' token
In file included from /usr/include/asm/smp.h:21,
                 from /usr/include/linux/smp.h:14,
                 from /usr/include/linux/sched.h:23,
                 from /usr/include/asm/uaccess.h:8,
                 from test.cpp:1:
/usr/include/asm/apic.h:85: `pm_dev_t' was not declared in this scope
/usr/include/asm/apic.h:85: parse error before `long'
In file included from /usr/include/linux/sched.h:23,
                 from /usr/include/asm/uaccess.h:8,
                 from test.cpp:1:
/usr/include/linux/smp.h:29: parse error before `)' token
In file included from /usr/include/asm/processor.h:11,
                 from /usr/include/linux/sched.h:87,
                 from /usr/include/asm/uaccess.h:8,
                 from test.cpp:1:
/usr/include/asm/math_emu.h: In function `void FASTCALL(...)':
/usr/include/asm/math_emu.h:6: non-local function `int
restore_i387_soft(void*, 
   FASTCALL(...)::_fpstate*)' uses local type `FASTCALL(...)::_fpstate'
/usr/include/asm/math_emu.h:7: non-local function `int
save_i387_soft(void*, 
   FASTCALL(...)::_fpstate*)' uses local type `FASTCALL(...)::_fpstate'
In file included from /usr/include/linux/sched.h:87,
                 from /usr/include/asm/uaccess.h:8,
                 from test.cpp:1:
/usr/include/asm/processor.h:73: non-local variable
`FASTCALL(...)::cpuinfo_x86 
   boot_cpu_data' uses local type `FASTCALL(...)::cpuinfo_x86'
/usr/include/asm/processor.h:77: non-local variable
`FASTCALL(...)::cpuinfo_x86 
   cpu_data[]' uses local type `FASTCALL(...)::cpuinfo_x86'
/usr/include/asm/processor.h:97: non-local function `void 
   identify_cpu(FASTCALL(...)::cpuinfo_x86*)' uses local type `
   FASTCALL(...)::cpuinfo_x86'
/usr/include/asm/processor.h:98: non-local function `void 
   print_cpu_info(FASTCALL(...)::cpuinfo_x86*)' uses local type `
   FASTCALL(...)::cpuinfo_x86'
/usr/include/asm/processor.h:126: cannot declare static function inside
another 
   function
/usr/include/asm/processor.h: In function `void cpuid(int, int*, int*,
int*, 
   int*)':
/usr/include/asm/processor.h:139: cannot declare static function inside
another 
   function
/usr/include/asm/processor.h: In function `unsigned int
cpuid_eax(unsigned 
   int)':
/usr/include/asm/processor.h:149: cannot declare static function inside
another 
   function
/usr/include/asm/processor.h: In function `unsigned int
cpuid_ebx(unsigned 
   int)':
/usr/include/asm/processor.h:159: cannot declare static function inside
another 
   function
/usr/include/asm/processor.h: In function `unsigned int
cpuid_ecx(unsigned 
   int)':
/usr/include/asm/processor.h:169: cannot declare static function inside
another 
   function
/usr/include/asm/processor.h: In function `unsigned int
cpuid_edx(unsigned 
   int)':
/usr/include/asm/processor.h:206: cannot declare static function inside
another 
   function
/usr/include/asm/processor.h: In function `void set_in_cr4(long unsigned
int)':
/usr/include/asm/processor.h:216: cannot declare static function inside
another 
   function
/usr/include/asm/processor.h: In function `void clear_in_cr4(long
unsigned 
   int)':
/usr/include/asm/processor.h:432: non-local function `void 
   release_thread(clear_in_cr4(long unsigned int)::task_struct*)' uses
local 
   type `clear_in_cr4(long unsigned int)::task_struct'
/usr/include/asm/processor.h:439: non-local function `void 
   copy_segments(clear_in_cr4(long unsigned int)::task_struct*, 
   clear_in_cr4(long unsigned int)::mm_struct*)' uses local type `
   clear_in_cr4(long unsigned int)::task_struct'
/usr/include/asm/processor.h:440: non-local function `void 
   release_segments(clear_in_cr4(long unsigned int)::mm_struct*)' uses
local 
   type `clear_in_cr4(long unsigned int)::mm_struct'
/usr/include/asm/processor.h:446: cannot declare static function inside
another 
   function
/usr/include/asm/processor.h: In function `long unsigned int 
   thread_saved_pc(clear_in_cr4(long unsigned int)::thread_struct*)':
/usr/include/asm/processor.h:450: non-local function `long unsigned int 
   get_wchan(clear_in_cr4(long unsigned int)::task_struct*)' uses local
type `
   clear_in_cr4(long unsigned int)::task_struct'
/usr/include/asm/processor.h:479: cannot declare static function inside
another 
   function
In file included from /usr/include/asm/uaccess.h:9,
                 from test.cpp:1:
/usr/include/linux/prefetch.h: In function `void prefetch(const void*)':
/usr/include/linux/prefetch.h:48: cannot declare static function inside
another 
   function
In file included from test.cpp:1:
/usr/include/asm/uaccess.h: In function `void prefetchw(const void*)':
/usr/include/asm/uaccess.h:63: cannot declare static function inside
another 
   function
/usr/include/asm/uaccess.h: In function `int verify_area(int, const
void*, long 
   unsigned int)':
/usr/include/asm/uaccess.h:64: `current' undeclared (first use this
function)
/usr/include/asm/uaccess.h:64: `EFAULT' undeclared (first use this
function)
/usr/include/asm/uaccess.h:310: cannot declare static function inside
another 
   function
/usr/include/asm/uaccess.h: In function `long unsigned int 
   __generic_copy_from_user_nocheck(void*, const void*, long unsigned
int)':
/usr/include/asm/uaccess.h:317: cannot declare static function inside
another 
   function
/usr/include/asm/uaccess.h: In function `long unsigned int 
   __generic_copy_to_user_nocheck(void*, const void*, long unsigned
int)':
/usr/include/asm/uaccess.h:548: cannot declare static function inside
another 
   function
/usr/include/asm/uaccess.h: In function `long unsigned int 
   __constant_copy_to_user(void*, const void*, long unsigned int)':
/usr/include/asm/uaccess.h:557: cannot declare static function inside
another 
   function
/usr/include/asm/uaccess.h: In function `long unsigned int 
   __constant_copy_from_user(void*, const void*, long unsigned int)':
/usr/include/asm/uaccess.h:561: `memset' undeclared (first use this
function)
/usr/include/asm/uaccess.h:567: cannot declare static function inside
another 
   function
/usr/include/asm/uaccess.h: In function `long unsigned int 
   __constant_copy_to_user_nocheck(void*, const void*, long unsigned
int)':
/usr/include/asm/uaccess.h:574: cannot declare static function inside
another 
   function


    REPEAT BY:

Here a test programs that I did:

#include <asm/uaccess.h>

int main (){
	return 0;
}



    SAMPLE FIX/WORKAROUND:

None.

Stephen


-- 
Stephen Torri <storri@sbcglobal.net>

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-05-15  6:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-05-14 13:37 Compile error including asm/uaccess.h ismail donmez
2003-05-14 14:19 ` Stephen Torri
2003-05-15  5:57   ` ismail (cartman) donmez
  -- strict thread matches above, loose matches on Subject: below --
2003-05-14 13:34 ismail donmez
2003-05-14  0:10 Stephen Torri
2003-05-14 14:35 ` Ahmed Masud

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox