• Dimitris Lampridis's avatar
    driver: respect stack frame limit · 181ad487
    Dimitris Lampridis authored
    svec_fpga_app_init() declares too many local buffers that are allocated on the stack.
    
    On some versions of GCC this is detected and reported, causing a warning that is promoted to an
    error. Example:
    
    svec-core-fpga.c:710:1: error: the frame size of 1968 bytes is larger than 1024 bytes
    [-Werror=frame-larger-than=]
    
    Since apparently it is not a very good idea to increase the stack frame size limit [1], the solution
    implemented here is to switch to dynimically allocating the biggest buffer (struct resource res[]).
    
    [1]: https://gcc.gnu.org/onlinedocs/gccint/Stack-Checking.html#Stack-Checking
    "The maximum size of a stack frame, in bytes. GCC will generate probe instructions in non-leaf
    functions to ensure at least this many bytes of stack are available. If a stack frame is larger than
    this size, stack checking will not be reliable and GCC will issue a warning. The default is chosen
    so that GCC only generates one instruction on most systems. You should normally not change the
    default value of this macro."
    Signed-off-by: Dimitris Lampridis's avatarDimitris Lampridis <dimitris.lampridis@cern.ch>
    181ad487
Name
Last commit
Last update
..
kernel Loading commit data...
tools Loading commit data...
unittest Loading commit data...
Makefile Loading commit data...