Steven Noonan 63678e17cf configure: add option to disable -fstack-protector flags
The -fstack-protector flag family is useful for ensuring safety and for
debugging, but has a performance impact. Here are some boot time comparisons of
the various versions of -fstack-protector using qemu-system-arm on an x86_64
host:

    # -fstack-protector-all
    Startup finished in 1.810s (kernel) + 12.331s (initrd) + 49.016s (userspace) = 1min 3.159s
    Startup finished in 1.801s (kernel) + 12.287s (initrd) + 47.925s (userspace) = 1min 2.013s
    Startup finished in 1.812s (kernel) + 12.302s (initrd) + 47.995s (userspace) = 1min 2.111s

    # -fstack-protector-strong
    Startup finished in 1.744s (kernel) + 11.223s (initrd) + 44.688s (userspace) = 57.657s
    Startup finished in 1.721s (kernel) + 11.222s (initrd) + 44.194s (userspace) = 57.138s
    Startup finished in 1.693s (kernel) + 11.250s (initrd) + 44.426s (userspace) = 57.370s

    # -fstack-protector
    Startup finished in 1.705s (kernel) + 11.409s (initrd) + 43.563s (userspace) = 56.677s
    Startup finished in 1.877s (kernel) + 11.137s (initrd) + 43.719s (userspace) = 56.734s
    Startup finished in 1.708s (kernel) + 11.141s (initrd) + 43.628s (userspace) = 56.478s

    # no stack protector
    Startup finished in 1.743s (kernel) + 11.190s (initrd) + 43.709s (userspace) = 56.643s
    Startup finished in 1.763s (kernel) + 11.216s (initrd) + 43.767s (userspace) = 56.747s
    Startup finished in 1.711s (kernel) + 11.283s (initrd) + 43.878s (userspace) = 56.873s

This patch introduces a configure option to disable the stack protector
entirely, and conditional stack protector flag selection (in order,
based on availability): -fstack-protector-strong, -fstack-protector-all,
no stack protector.

Signed-off-by: Steven Noonan <snoonan@amazon.com>
Cc: Anthony Liguori <aliguori@amazon.com>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
[Prefer -fstack-protector-all to -fstack-protector, suggested by
 Laurent Desnogues. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2014-03-31 20:16:02 +01:00
2013-04-18 13:50:53 +02:00
2014-03-31 19:53:34 +01:00
2014-03-31 19:28:38 +02:00
2014-03-13 20:15:37 +01:00
2013-08-07 12:48:00 -05:00
2014-03-03 09:46:27 +04:00
2014-03-13 20:15:37 +01:00
2014-03-25 14:09:50 +01:00
2014-03-26 05:33:02 +01:00
2014-03-28 13:46:29 +00:00
2012-09-07 09:02:44 +03:00
2014-03-12 17:26:32 +01:00
2013-09-05 09:40:31 -05:00
2013-10-11 09:34:56 -07:00
2014-03-19 19:47:15 +01:00
2013-07-23 02:41:31 +02:00
2013-02-21 16:17:31 -06:00
2014-03-13 14:42:24 +01:00
2013-08-12 09:15:12 -05:00
2014-03-17 11:50:19 +00:00
2014-03-13 14:42:24 +01:00
2013-09-03 12:25:55 +02:00
2014-03-27 15:19:00 +05:30
2014-02-21 21:02:23 +01:00
2014-03-13 14:34:16 +00:00
2014-02-25 14:30:28 +01:00
2014-03-27 15:19:00 +05:30
2014-03-17 13:21:11 +01:00
2013-12-04 15:19:00 +01:00
2014-03-05 03:06:24 +01:00
2013-10-11 09:34:56 -07:00
2014-03-27 15:19:00 +05:30
2013-09-25 21:23:05 +02:00
2014-02-17 11:57:23 -05:00
2014-03-27 15:19:00 +05:30
2014-03-13 20:08:15 -07:00
2013-10-11 09:34:56 -07:00
2014-03-27 15:19:00 +05:30
2013-04-08 18:13:10 +02:00

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team
Description
No description provided
Readme 404 MiB
Languages
C 82.6%
C++ 6.5%
Python 3.4%
Dylan 2.9%
Shell 1.6%
Other 2.8%