[pypy-svn] r68653 - in pypy/branch/msvc-asmgcroot/pypy/translator/c: . gcc gcc/test/msvc
afa at codespeak.net
afa at codespeak.net
Mon Oct 19 23:48:32 CEST 2009
Author: afa
Date: Mon Oct 19 23:48:31 2009
New Revision: 68653
Modified:
pypy/branch/msvc-asmgcroot/pypy/translator/c/gcc/test/msvc/track0.s
pypy/branch/msvc-asmgcroot/pypy/translator/c/gcc/trackgcroot.py
pypy/branch/msvc-asmgcroot/pypy/translator/c/genc.py
Log:
more fixes
Modified: pypy/branch/msvc-asmgcroot/pypy/translator/c/gcc/test/msvc/track0.s
==============================================================================
--- pypy/branch/msvc-asmgcroot/pypy/translator/c/gcc/test/msvc/track0.s (original)
+++ pypy/branch/msvc-asmgcroot/pypy/translator/c/gcc/test/msvc/track0.s Mon Oct 19 23:48:31 2009
@@ -1,11 +1,3 @@
-PUBLIC _pypy_g_ll_join_strs__Signed_arrayPtr
-; Function compile flags: /Ogtpy
-; COMDAT _pypy_g_ll_join_strs__Signed_arrayPtr
-_TEXT SEGMENT
-_l_result_2$ = -8 ; size = 4
-_l_v405$ = -4 ; size = 4
-_l_num_items_0$ = 8 ; size = 4
-_l_items_2$ = 12 ; size = 4
_pypy_g_ll_join_strs__Signed_arrayPtr PROC ; COMDAT
; 1457 : struct pypy_rpy_string0 *pypy_g_ll_join_strs__Signed_arrayPtr(long l_num_items_0, struct pypy_array0 *l_items_2) {
Modified: pypy/branch/msvc-asmgcroot/pypy/translator/c/gcc/trackgcroot.py
==============================================================================
--- pypy/branch/msvc-asmgcroot/pypy/translator/c/gcc/trackgcroot.py (original)
+++ pypy/branch/msvc-asmgcroot/pypy/translator/c/gcc/trackgcroot.py Mon Oct 19 23:48:31 2009
@@ -324,14 +324,18 @@
break
k += 1
self.labels[label] = None
- # These global symbols are not directly labels pointing to the
- # code location because such global labels in the middle of
- # functions confuse gdb. Instead, we add to the global symbol's
- # value a big constant, which is subtracted again when we need
- # the original value for gcmaptable.s. That's a hack.
- self.lines.insert(call.lineno+1, '%s=.+%d\n' % (label,
- OFFSET_LABELS))
- self.lines.insert(call.lineno+1, '\t.globl\t%s\n' % (label,))
+ if self.format == 'msvc':
+ self.lines.insert(call.lineno+1, '%s::\n' % (label,))
+ #self.lines.insert(call.lineno+1, 'PUBLIC\t%s\n' % (label,))
+ else:
+ # These global symbols are not directly labels pointing to the
+ # code location because such global labels in the middle of
+ # functions confuse gdb. Instead, we add to the global symbol's
+ # value a big constant, which is subtracted again when we need
+ # the original value for gcmaptable.s. That's a hack.
+ self.lines.insert(call.lineno+1, '%s=.+%d\n' % (label,
+ OFFSET_LABELS))
+ self.lines.insert(call.lineno+1, '\t.globl\t%s\n' % (label,))
call.global_label = label
# ____________________________________________________________
Modified: pypy/branch/msvc-asmgcroot/pypy/translator/c/genc.py
==============================================================================
--- pypy/branch/msvc-asmgcroot/pypy/translator/c/genc.py (original)
+++ pypy/branch/msvc-asmgcroot/pypy/translator/c/genc.py Mon Oct 19 23:48:31 2009
@@ -503,9 +503,9 @@
lblofiles = ['%s.lbl.obj' % (cfile[:-2],) for cfile in mk.cfiles]
mk.definition('ASMLBLOBJFILES', lblofiles)
mk.definition('OBJECTS', '$(ASMLBLOBJFILES) gcmaptable.obj')
- mk.rule('.SUFFIXES', '.s')
+ mk.rule('.SUFFIXES', '.s', [])
mk.rule('.s.obj', '',
- 'c:\masm32\bin\ml $(CFLAGS) /Zm /coff /Fo$@ /c $< $(INCLUDEDIRS)')
+ 'ml $(CFLAGS) /Zm /coff /Fo$@ /c $< $(INCLUDEDIRS)')
mk.rule('.c.gcmap', '',
['$(CC) $(CFLAGS) /c /FAs /Fa$*.s $< $(INCLUDEDIRS)',
'cmd /c ' + python + '$(PYPYDIR)/translator/c/gcc/trackgcroot.py -t $*.s > $@']
More information about the Pypy-commit
mailing list