'C' calling convention change.

From: Richard B. Johnson (root_at_chaos.analogic.com)
Date: 10/06/04

  • Next message: Pavel Machek: "Re: [PATCH] RadeonFB ACPI S3 patch fixed to not break S4. 2.6.8.1, 2.6.7"
    Date:	Wed, 6 Oct 2004 08:20:16 -0400 (EDT)
    To: linux-kernel@vger.kernel.org
    
    

    The new Red Hat Fedora release uses the following gcc version:

             gcc (GCC) 3.3.3 20040412 (Red Hat Linux 3.3.3-7)

    I have many assembly-language routines that need to interface with
    'C' code. The new 'C' compiler is doing something different than
    gcc 3.2, previously used.

    I need to know what general-purpose registers need to be saved
    in the called procedure. Previously, one needed to save the
    index registers only (%ebx, %edi, %esi). Apparently I need to
    save others with the new compiler because, although the called
    procedures work, subsequent 'C' code fails in strange ways.

    Please, if somebody __knows__ (really knows), let me know. I
    will have to edit over 200 assembly-language files and I want
    to do it only once! I don't want to just save all the registers
    used because this wastes CPU cycles and the only reason for
    the assembly in the first place was to save CPU cycles.

    Cheers,
    *** Johnson
    Penguin : Linux version 2.6.5-1.358-noreg on an i686 machine (5570.56 BogoMips).
                 Note 96.31% of all statistics are fiction.

    -
    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/


  • Next message: Pavel Machek: "Re: [PATCH] RadeonFB ACPI S3 patch fixed to not break S4. 2.6.8.1, 2.6.7"