lkml.org 
[lkml]   [2000]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PROBLEM] gcc-2.7.2.3 and #inline with 64bit args
Date

Hi,
Trying to compile i386 kernel with CONFIG_HIGHMEM64G=y using gcc-2.7.2.3
I observe problem with some inline functions:

mm/mm.o: In function `vmalloc_area_pages':
mm/mm.o(.text+0xad18): undefined reference to `set_pgdir'
mm/mm.o: In function `__vmalloc':
mm/mm.o(.text+0xb41d): undefined reference to `set_pgdir'
mm/mm.o: In function `swap_out_vma':
mm/mm.o(.text+0xcfeb): undefined reference to `pgd_bad'
mm/mm.o: In function `unuse_vma':
mm/mm.o(.text+0xe944): undefined reference to `pgd_bad'
fs/fs.o: In function `statm_pgd_range':
fs/fs.o(.text+0x1dfa6): undefined reference to `pgd_bad'
drivers/char/drm/drm.o: In function `_drm_vma_info':
drivers/char/drm/drm.o(.text+0x26ba): undefined reference to `pte_young'
drivers/char/drm/drm.o(.text+0x26d7): undefined reference to `pte_dirty'
drivers/char/drm/drm.o(.text+0x26f4): undefined reference to `pte_exec'
drivers/char/drm/drm.o(.text+0x2711): undefined reference to `pte_write'
drivers/char/drm/drm.o(.text+0x272e): undefined reference to `pte_read'
make: *** [vmlinux] Error 1

nm mm/memory.o shows:

00000004 C num_physpages
U pager_daemon
000024a8 t partial_clear
U pgd_bad <---------- shouldn't happen for inline function
00000004 D pgt_cache_water
U printk
U read_swap_cache_async

I see that problem is with inline functions with 64-bit arguments.
Converting the inlines to operate on pointers seems to fix this problem.
Is it the right way to fix them? (It should be cheap)
Or:
- should they be converted to non-inlines (expensive)
- should gcc-2.7.2.3 be dropped (eventually dropped for some config options)
?

Regards
Andrzej

--
=======================================================================
Andrzej M. Krzysztofowicz ankry@mif.pg.gda.pl
phone (48)(58) 347 14 61
Faculty of Applied Phys. & Math., Technical University of Gdansk

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

\
 
 \ /
  Last update: 2005-03-22 13:57    [W:0.023 / U:0.832 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site