Page MenuHomeFreeBSD

bhyve: Stop compiling with -O0.
ClosedPublic

Authored by markj on Apr 2 2019, 1:33 AM.
Tags
None
Referenced Files
F150180651: D19787.diff
Mon, Mar 30, 2:03 AM
Unknown Object (File)
Tue, Mar 24, 6:24 PM
Unknown Object (File)
Wed, Mar 18, 5:57 AM
Unknown Object (File)
Tue, Mar 17, 5:17 AM
Unknown Object (File)
Mon, Mar 16, 9:09 AM
Unknown Object (File)
Sun, Mar 15, 7:54 AM
Unknown Object (File)
Fri, Mar 13, 6:38 AM
Unknown Object (File)
Thu, Mar 12, 10:12 PM
Subscribers

Details

Summary

This appears to be accidental and came in with r243327. The bhyve
executable shrinks by over 30% with this change.

Diff Detail

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

Event Timeline

Does this variable get used by default? I saw this here and just ignored it as I thought it would only be invoked if I asked for a DEBUG build from a level above. If we are always adding DEBUG_FLAGS to our compiles perhaps it should be called something else?

This revision is now accepted and ready to land.Apr 2 2019, 1:54 AM

I think we should probably keep this, since by default EDK2 DEBUG builds are built with optimization enabled, which obviously makes debugging via gdb etc. irritating/difficult.
I always have to add -O0 to let me single step through the firmware.

I think we should probably keep this, since by default EDK2 DEBUG builds are built with optimization enabled, which obviously makes debugging via gdb etc. irritating/difficult.
I always have to add -O0 to let me single step through the firmware.

I'm not sure what you mean, and I don't understand the connection between EDK2 and the bhyve build. Are you requesting that we always set -O0, even in release builds? Or do you want to leave this line commented out?

Does this variable get used by default?

Yes, see bsd.prog.mk:

.if defined(DEBUG_FLAGS)                                                                                                                                  
CFLAGS+=${DEBUG_FLAGS}                                                                                                                                    
CXXFLAGS+=${DEBUG_FLAGS}                                                                                                                                  
...
.endif

I'm not sure what you mean, and I don't understand the connection between EDK2 and the bhyve build. Are you requesting that we always set -O0, even in release builds? Or do you want to leave this line commented out?

Sorry, wrong context. I was thinking of the uefi-edk2-bhyve port, which builds EDK2. This is different.

This revision was automatically updated to reflect the committed changes.