Page MenuHomeFreeBSD

i386/boot2: -fno-asynchronous-unwind-tables for gcc
ClosedPublic

Authored by rlibby on Aug 9 2017, 12:17 AM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 20 2023, 6:32 AM
Unknown Object (File)
Nov 19 2023, 2:25 AM
Unknown Object (File)
Nov 19 2023, 1:53 AM
Unknown Object (File)
Jul 1 2023, 11:18 PM
Unknown Object (File)
May 9 2023, 7:12 PM
Unknown Object (File)
Jan 2 2023, 5:06 PM
Subscribers

Details

Summary

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).

Test Plan

amd64/gcc buildworld

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Looks reasonable to me. This switch is supported in gcc 4.2 and newer so we don't need anything conditional.

This revision is now accepted and ready to land.Aug 9 2017, 2:20 PM
This revision was automatically updated to reflect the committed changes.