Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Aug 2017 20:13:49 +0000 (UTC)
From:      Ryan Libby <rlibby@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r322329 - head/sys/boot/i386/boot2
Message-ID:  <201708092013.v79KDnup083324@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rlibby
Date: Wed Aug  9 20:13:49 2017
New Revision: 322329
URL: https://svnweb.freebsd.org/changeset/base/322329

Log:
  i386/boot2: -fno-asynchronous-unwind-tables for gcc
  
  The amd64 build of boot2 was failing with gcc 6.3.0 due to being more
  than 1 kB too large. It was apparently generating a .eh_frame section
  which was not being removed by objcopy -S. The .eh_frame section seems
  to be mandatory per the amd64 ABI, but boot2 is compiled for i386 (uses
  -m32), and therefore should be optional in this context. Suppress
  generation of .eh_frame with the -fno-asynchronous-unwind-tables flag to
  gcc. This saves 1348 bytes (the limit is 7680 bytes).
  
  Reviewed by:	dim, imp
  Approved by:	markj (mentor)
  Sponsored by:	Dell EMC Isilon
  Differential Revision:	https://reviews.freebsd.org/D11928

Modified:
  head/sys/boot/i386/boot2/Makefile

Modified: head/sys/boot/i386/boot2/Makefile
==============================================================================
--- head/sys/boot/i386/boot2/Makefile	Wed Aug  9 19:58:38 2017	(r322328)
+++ head/sys/boot/i386/boot2/Makefile	Wed Aug  9 20:13:49 2017	(r322329)
@@ -38,6 +38,7 @@ CFLAGS=	-fomit-frame-pointer \
 	-Winline
 
 CFLAGS.gcc+=	-Os \
+		-fno-asynchronous-unwind-tables \
 		--param max-inline-insns-single=100
 .if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} <= 40201
 CFLAGS.gcc+=   -mno-align-long-strings



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708092013.v79KDnup083324>