• Show log

    Commit

  • Hash : ab79d6e2
    Author : Alan Modra
    Date : 2013-11-21T06:12:35

    This separates the 32-bit sysv/linux/bsd code from the 64-bit linux
    code, and makes it possible to link code compiled with different
    options to those used to compile libffi.  For example, a
    -mlong-double-128 libffi can be used with -mlong-double-64 code.
    
    Using the return value area as a place to pass parameters wasn't such
    a good idea, causing a failure of cls_ulonglong.c.  I didn't see this
    when running the mainline gcc libffi testsuite because that version of
    the test is inferior to the upstreamm libffi test.
    
    Using NUM_FPR_ARG_REGISTERS rather than NUM_FPR_ARG_REGISTERS64 meant
    that a parameter save area could be allocated before it was strictly
    necessary.  Wrong but harmless.  Found when splitting apart ffi.c
    into 32-bit and 64-bit support.