VirtualBox

Changeset 58713 in vbox


Ignore:
Timestamp:
Nov 16, 2015 11:12:46 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
104141
Message:

bs3kit: Use -ecw instead of -ecc for 16-bit to avoid lots of unnecessary ds reloads when calling inline assembly functions. Drop the -zu option (DS != SS) for 32-bit code as it makes iprt/asm.h and iprt/asm-amd64-x86.h go nuts with warnings wrt to far pointers (the stack is flat anyways). Documented compiler options.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/Makefile.kmk

    r58694 r58713  
    172172# Note! Optimization options should come after debug stuff as -d2 for instance
    173173#       disables all optimziations.
     174#
     175# Compiler options explained:
     176#       -nt=xxxx               Sets the text segment name.
     177#       -nc=xxxx               Sets the text segment class name.
     178#       -nd=xxxx               Sets the data segment name.
     179#       -ecc                   Sets the default calling convension to __cdecl
     180#                              Update: We don't use this in 16-bit code as it causes unfavorable reloading of DS before calling
     181#                                      inlined functions (e.g. iprt/asm.h). Instead we use -ecw and __cdecl where needed.
     182#       -ecw                   Sets the default calling convension to __watcall ()
     183#       -q                     Quiet, no logos or stuff.
     184#       -3                     Use 386 instruction set (16-bit only).
     185#       -wx                    Maxium warning level.
     186#       -zl                    Don't emit default library information.
     187#       -zu                    Assume SS != DS.
     188#       -mc                    Compact memory model, far data, small code.
     189#       -mf                    Flat memory model (32-bit).
     190#       -d1                    Debug info: Globals and line numbers.
     191#       -s                     No stack overflow checks.
     192#       -oa                    Relaxed aliasing constraints.
     193#       -ob                    Branch prediction.
     194#       -of                    Generate stack frames when needed.
     195#       -oi                    Inline instrinsics functions.
     196#       -ol                    Loop optimizations.
     197#       -or                    Reorder for best pipeline.
     198#       -os                    Favor size over speed.
     199#
    174200TEMPLATE_VBoxBS3KitImg = Template for building BS3Kit test images.
    175201TEMPLATE_VBoxBS3KitImg_BLD_TRG      = os-agnostic
     
    186212TEMPLATE_VBoxBS3KitImg_CXXTOOL      = OPENWATCOM-16
    187213TEMPLATE_VBoxBS3KitImg_CFLAGS       = \
    188         -nt=BS3TEXT16 -nd=BS3DATA16 -nc=BS3CODE16 -ecc -q -3 -wx -zl -zu -mc $(BS3_OW_DBG_OPT) -d1 -s -oa -ob -of -oi -ol -or -os
     214        -nt=BS3TEXT16 -nd=BS3DATA16 -nc=BS3CODE16 -ecw -q -3 -wx -zl -zu -mc $(BS3_OW_DBG_OPT) -d1 -s -oa -ob -of -oi -ol -or -os
    189215TEMPLATE_VBoxBS3KitImg_CXXFLAGS     = \
    190         -nt=BS3TEXT16 -nd=BS3DATA16 -nc=BS3CODE16 -ecc -q -3 -wx -zl -zu -mc $(BS3_OW_DBG_OPT) -d1 -s -oa -ob -of -oi -ol -or -os
     216        -nt=BS3TEXT16 -nd=BS3DATA16 -nc=BS3CODE16 -ecw -q -3 -wx -zl -zu -mc $(BS3_OW_DBG_OPT) -d1 -s -oa -ob -of -oi -ol -or -os
    191217TEMPLATE_VBoxBS3KitImg_INCS         = $(VBOX_PATH_BS3KIT_SRC) .
    192218TEMPLATE_VBoxBS3KitImg_LDTOOL       = OPENWATCOM-WL
     
    273299TEMPLATE_VBoxBS3KitImg32_CXXTOOL      = OPENWATCOM
    274300TEMPLATE_VBoxBS3KitImg32_CFLAGS       = \
    275         -nt=BS3TEXT32 -nd=BS3DATA32 -nc=BS3CODE32 -ecc -q -wx -zu -zl -mf $(BS3_OW_DBG_OPT) -d1 -s -oa -ob -of -oi -ol -or -os
     301        -nt=BS3TEXT32 -nd=BS3DATA32 -nc=BS3CODE32 -ecc -q -wx -zl -mf $(BS3_OW_DBG_OPT) -d1 -s -oa -ob -of -oi -ol -or -os
    276302TEMPLATE_VBoxBS3KitImg32_CXXFLAGS     = \
    277         -nt=BS3TEXT32 -nd=BS3DATA32 -nc=BS3CODE32 -ecc -q -wx -zu -zl -mf $(BS3_OW_DBG_OPT) -d1 -s -oa -ob -of -oi -ol -or -os
     303        -nt=BS3TEXT32 -nd=BS3DATA32 -nc=BS3CODE32 -ecc -q -wx -zl -mf $(BS3_OW_DBG_OPT) -d1 -s -oa -ob -of -oi -ol -or -os
    278304TEMPLATE_VBoxBS3KitImg32_INCS         = $(VBOX_PATH_BS3KIT_SRC) .
    279305TEMPLATE_VBoxBS3KitImg32_LDTOOL       = VBoxBsUnusedLd
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette