Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S264270AbUFPRgX (ORCPT ); Wed, 16 Jun 2004 13:36:23 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S264279AbUFPRgW (ORCPT ); Wed, 16 Jun 2004 13:36:22 -0400 Received: from cmt33.neoplus.adsl.tpnet.pl ([83.31.147.33]:23813 "EHLO satan.blackhosts") by vger.kernel.org with ESMTP id S264270AbUFPRgJ (ORCPT ); Wed, 16 Jun 2004 13:36:09 -0400 Date: Wed, 16 Jun 2004 19:36:53 +0200 From: Jakub Bogusz To: linux-kernel@vger.kernel.org Subject: 2.6.7 compile errors due to include loops on sparc(32) Message-ID: <20040616173652.GA10529@satan.blackhosts> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.1i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2908 Lines: 58 CC init/do_mounts.o In file included from include/linux/mm.h:29, from include/linux/pagemap.h:7, from include/linux/swap.h:7, from include/linux/suspend.h:7, from init/do_mounts.c:6: include/asm/pgtable.h:386: warning: parameter names (without types) in function declaration include/asm/pgtable.h:387: warning: parameter names (without types) in function declaration include/asm/pgtable.h:388: error: parse error before "___f___swp_entry" include/asm/pgtable.h:388: warning: type defaults to `int' in declaration of `___f___swp_entry' include/asm/pgtable.h:388: warning: data definition has no type or storage class make[1]: *** [init/do_mounts.o] Error 1 make: *** [init] Error 2 That's because swp_entry_t used in BTFIXUPDEF_CALL macro uses in - swp_entry_t is defined in , which indirectly includes before defining swp_entry_t - so include in is skipped as _LINUX_SWAP_H is already defined. Workaround is to move swp_entry_t typedef on top of , before includes - but it's ugly. The next problem is: CC arch/sparc/kernel/process.o [...] In file included from include/linux/swap.h:18, from include/asm/pgtable.h:14, from include/linux/mm.h:29, from arch/sparc/kernel/process.c:19: include/linux/pagemap.h: In function `linear_page_index': include/linux/pagemap.h:145: error: dereferencing pointer to incomplete type include/linux/pagemap.h:146: error: dereferencing pointer to incomplete type include/linux/pagemap.h: In function `lock_page': include/linux/pagemap.h:155: warning: implicit declaration of function `TestSetPageLocked' include/linux/pagemap.h: In function `wait_on_page_locked': include/linux/pagemap.h:174: warning: implicit declaration of function `PageLocked' include/linux/pagemap.h:175: error: `PG_locked' undeclared (first use in this function) include/linux/pagemap.h:175: error: (Each undeclared identifier is reported only once include/linux/pagemap.h:175: error: for each function it appears in.) include/linux/pagemap.h: In function `wait_on_page_writeback': quite similar case - struct vma_area_struct is defined in , which indirectly includes , which uses it. On other archs doesn't include , so this problem is sparc-specific too; but removing #include from doesn't work without hacking many files, so I couldn't find any simple workaround... -- Jakub Bogusz http://cyber.cs.net.pl/~qboosh/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/