Hi Dave, You're last post really got me started on the right track I believe. I'm compiling using GCC 3.3.5 on eCS 2.2 betaII. You were right, looks like its set up in the makefile. Here is the section of the makefile that does it, but I still havn't figured out how or what to change. 
#
# SUPR0 - The Ring-0 Import / Thunk library.
#
SUPR0_TEMPLATE      = VBOXR0
ifeq ($(VBOX_LDR_FMT),pe)
 SUPR0_SOURCES     += SUPR0.def
endif
ifeq ($(VBOX_LDR_FMT),lx)
SUPR0_SOURCES      += $$(PATH_SUPR0)/SUPR0.def
$$(PATH_SUPR0)/SUPR0.def: $(PATH_SUB_CURRENT)/SUPR0.def | $$(dir $$@)
   $(SED) -e 's/^[ \t][ \t]*\([gA-Z]\)/    _\1/' -e 's/[ \t]DATA[ \t]*/ /' $< > $@.tmp
   $(MV) -f $@.tmp $@
endif
I don't understand the double $$'s -- does this make any sense to you?,  or maybe a simplified SUPR0_SOURCES defined by a SET command?
klipp