• 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
LICENCES Loading commit data...
doc Loading commit data...
hdl Loading commit data...
software Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
CHANGELOG.rst Loading commit data...
Manifest.py Loading commit data...
README.rst Loading commit data...