[PROBLEM] gcc-2.7.2.3 and #inline with 64bit args

From: Andrzej Krzysztofowicz (ankry@green.mif.pg.gda.pl)
Date: Sat Jul 15 2000 - 16:40:53 EDT

  • Next message: Russell King: "Remake and more remake of files (solved)"

    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/



    This archive was generated by hypermail 2b29 : Sat Jul 15 2000 - 16:43:46 EDT