Page MenuHomeFreeBSD

bhyve: Stop compiling with -O0.
ClosedPublic

Authored by markj on Apr 2 2019, 1:33 AM.

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
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; 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.