hi all,

(1) while compiling from the CVS, i've encountered this problem:

config/msp430/libgcc.S: Assembler messages:
config/msp430/libgcc.S:11: Error: junk `(r1)' after expression
config/msp430/libgcc.S:11: Error: too many memory references for `sub'
config/msp430/libgcc.S:12: Error: no such instruction: `subc 4(r1),r13'
config/msp430/libgcc.S:13: Error: no such instruction: `subc 6(r1),r14'
config/msp430/libgcc.S:14: Error: no such instruction: `subc 8(r1),r15'
config/msp430/libgcc.S:16: Error: no such instruction: `tst r15'
config/msp430/libgcc.S:16: Error: invalid character '<' in mnemonic
config/msp430/libgcc.S:19: Error: suffix or operands invalid for `mov'
config/msp430/libgcc.S:22: Error: no such instruction: `bis r12,r14'
config/msp430/libgcc.S:22: Error: no such instruction: `check if zero'
config/msp430/libgcc.S:23: Error: no such instruction: `bis r13,r15'
config/msp430/libgcc.S:24: Error: no such instruction: `bis r14,r15'
config/msp430/libgcc.S:25: Error: no such instruction: `tst r15'
config/msp430/libgcc.S:26: Error: suffix or operands invalid for `je'
config/msp430/libgcc.S:26: Error: junk `or or105ng all nibbles10' after
expression
config/msp430/libgcc.S:26: Error: suffix or operands invalid for `test'
config/msp430/libgcc.S:27: Error: suffix or operands invalid for `mov'
config/msp430/libgcc.S:30: Error: suffix or operands invalid for `mov'
make[2]: *** [libgcc/./_cmpdi2.o] Error 1

i'm using the gcc-3.3 branch (of MSPGCC) and gcc-3.2.2 source, but
gcc-3.2 source gives the same error. since i have actually compiled it
successfully once, i am wondering if any CVS commit has produced the
error.

(2) which branch is actually the latest? the only thing i know for sure
is that gcc-3.1 is not being maintained

(3) i am also wondering why createlinks_gcc.py has hardcoded the branch
to gcc-3.0.

(4) the script createlinks_gcc.py actually does not work for me. i have
looked at the source code, understood it and modified it to the essense
of what the original createlinks_gcc.py is purported to achieve. (see
below). logically the error should not be due to my modified version of
createlinks_gcc.py.


thank you,
yw

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
#!/usr/bin/env python

# this script is for un*x/linux users. it creates hardlinks from this
# directory to a target source tree.
# this allows to check out the patch to a separate directory rather than
# mixing the original gcc/binutils sources with this patch directly.

# cliec...@gmx.net
# $Id: createlinks_gcc.py,v 1.4 2002/01/20 03:24:47 cliechti Exp $

import sys,os, string, stat
VERSION = string.split("$Revision: 1.4 $")[1]   #extract CVS version

#this is the name of the directory of the gcc sources
#it starts with "./"
versiondir = './gcc-3.3/'

#first scan for files in the source directory
#leave out CVS dirs
files = []
dirs = []
def visitor(arg, dirname, names):
    #dirname = dirname[len(versiondir):]
    for name in names:
        if name and name[-3:] != 'CVS' and (dirname[-3:] != 'CVS'):
            path = os.path.join(dirname,name)
            if os.path.isdir(os.path.abspath(path)):                
                path = path[len(versiondir):]
                print "Added dir ", path
                dirs.append(path)
            else:                
                path = path[len(versiondir):]
                print "Added file ", path
                files.append(path)

os.path.walk(versiondir, visitor, None)

#option(s) for the ln command
lnopts = '-s' #'-s' #to be used when symbolic links should be
genereated, empty string for hardlinks

if len(sys.argv) < 2:
        print """USAGE: %s targetdir
        version: %s

        This script replaces the files that are in the gcc source with
        links to files in this directory.
        
        Please specify the target directory, where the gcc sources are
        located, e.g. /home/user/src/gcc-3.2.2

        Warning: the original files in the target directory tree are
        deleted!!

        The following files will be modifed in the target directory:
""" % (sys.argv[0], VERSION)

        for f in files:
                print "\t\t%s" % os.path.join(versiondir, f)

        print """\n\tscroll up if you don't see the help message ;-)"""
        sys.exit(1)

#make paths absolute so that the links are absolute too
source = os.path.abspath(versiondir)
target = os.path.abspath(sys.argv[1]);

if not os.path.exists(target):
    print "The directory %s does not exist." % target
    sys.exit(1)

print "Source dir: %s" % source
print "Target dir: %s" % target

if os.path.abspath(source) == os.path.abspath(target):
        print "No, no! Don't specify the source directory as target."
        sys.exit(1)

for d in dirs:        
        tgt = os.path.join(target, d)
        if not os.path.exists(tgt):
                print "Creating directory: ", tgt
                cmd = "mkdir %s " % (tgt)
                os.system(cmd) 
        else: 
                print "Directory %s already exists" % tgt

for f in files:
        src = os.path.join(source, f) 
        tgt = os.path.join(target, f) 
        if os.path.exists(tgt):
            if os.path.samefile(src, tgt):
                print "%s already linked to %s" % (tgt, src)
                continue
            else:
                print "Removing file: ", tgt  
                os.system("rm %s" % tgt)
        cmd = "ln %s %s %s" % (lnopts, src, tgt)
        print "  ", cmd
        os.system(cmd) 

print "Done"




Reply via email to