[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