--- /src/gcc-current/contrib/update-copyright.py	2013-02-07 12:55:28.272161270 +1030
+++ ./update-copyright.py	2014-03-03 13:44:35.650293322 +1030
@@ -74,6 +74,8 @@
                 'COPYING.LIB',
                 'COPYING3',
                 'COPYING3.LIB',
+                'COPYING.LIBGLOSS',
+                'COPYING.NEWLIB',
                 'LICENSE',
                 'fdl.texi',
                 'gpl_v3.texi',
@@ -110,6 +112,18 @@
                 'texinfo.tex',
                 ])
 
+        self.skip_extensions |= set ([
+                # Maintained by the translation project.
+                '.po',
+
+                # Automatically-generated.
+                '.pot',
+                ])
+
+        self.skip_dirs |= set ([
+                'autom4te.cache',
+                ])
+
 
     def get_line_filter (self, dir, filename):
         if filename.startswith ('ChangeLog'):
@@ -201,7 +215,7 @@
         # A regexp for notices that might have slipped by.  Just matching
         # 'copyright' is too noisy, and 'copyright.*[0-9]' falls foul of
         # HTML header markers, so check for 'copyright' and two digits.
-        self.other_copyright_re = re.compile ('copyright.*[0-9][0-9]',
+        self.other_copyright_re = re.compile ('(^|[^\._])copyright[^=]*[0-9][0-9]',
                                               re.IGNORECASE)
         self.comment_re = re.compile('#+|[*]+|;+|%+|//+|@c |dnl ')
         self.holders = { '@copying': '@copying' }
@@ -530,144 +544,15 @@
                     return True
         return GenericFilter.skip_file (self, dir, filename)
 
-class GCCFilter (GenericFilter):
+class LdFilter (GenericFilter):
     def __init__ (self):
         GenericFilter.__init__ (self)
 
-        self.skip_files |= set ([
-                # Not part of GCC
-                'math-68881.h',
-                ])
-
-        self.skip_dirs |= set ([
-                # Better not create a merge nightmare for the GNAT folks.
-                'ada',
-
-                # Handled separately.
-                'testsuite',
-                ])
-
         self.skip_extensions |= set ([
-                # Maintained by the translation project.
-                '.po',
-
-                # Automatically-generated.
-                '.pot',
-                ])
-
-        self.fossilised_files |= set ([
-                # Old news won't be updated.
-                'ONEWS',
-                ])
-
-class TestsuiteFilter (GenericFilter):
-    def __init__ (self):
-        GenericFilter.__init__ (self)
-
-        self.skip_extensions |= set ([
-                # Don't change the tests, which could be woend by anyone.
-                '.c',
-                '.C',
-                '.cc',
-                '.h',
-                '.hs',
-                '.f',
-                '.f90',
-                '.go',
-                '.inc',
-                '.java',
+                # ld testsuite output match files.
+                '.ro',
                 ])
 
-    def skip_file (self, dir, filename):
-        # g++.niklas/README contains historical copyright information
-        # and isn't updated.
-        if filename == 'README' and os.path.basename (dir) == 'g++.niklas':
-            return True
-        return GenericFilter.skip_file (self, dir, filename)
-
-class LibCppFilter (GenericFilter):
-    def __init__ (self):
-        GenericFilter.__init__ (self)
-
-        self.skip_extensions |= set ([
-                # Maintained by the translation project.
-                '.po',
-
-                # Automatically-generated.
-                '.pot',
-                ])
-
-class LibGCCFilter (GenericFilter):
-    def __init__ (self):
-        GenericFilter.__init__ (self)
-
-        self.skip_dirs |= set ([
-                # Imported from GLIBC.
-                'soft-fp',
-                ])
-
-class LibJavaFilter (GenericFilter):
-    def __init__ (self):
-        GenericFilter.__init__ (self)
-
-        self.skip_dirs |= set ([
-                # Handled separately.
-                'testsuite',
-
-                # Not really part of the library
-                'contrib',
-
-                # Imported from upstream
-                'classpath',
-                'libltdl',
-                ])
-
-    def get_line_filter (self, dir, filename):
-        if filename == 'NameDecoder.h':
-            return re.compile ('.*NAME_COPYRIGHT')
-        if filename == 'ICC_Profile.h':
-            return re.compile ('.*icSigCopyrightTag')
-        return GenericFilter.get_line_filter (self, dir, filename)
-
-class LibMudflapFilter (GenericFilter):
-    def __init__ (self):
-        GenericFilter.__init__ (self)
-
-        self.skip_dirs |= set ([
-                # Handled separately.
-                'testsuite',
-                ])
-
-class LibStdCxxFilter (GenericFilter):
-    def __init__ (self):
-        GenericFilter.__init__ (self)
-
-        self.skip_files |= set ([
-                # Contains no copyright of its own, but quotes the GPL.
-                'intro.xml',
-                ])
-
-        self.skip_dirs |= set ([
-                # Contains automatically-generated sources.
-                'html',
-
-                # The testsuite data files shouldn't be changed.
-                'data',
-
-                # Contains imported images
-                'images',
-                ])
-
-        self.own_files |= set ([
-                # Contains markup around the copyright owner.
-                'spine.xml',
-                ])
-
-    def get_line_filter (self, dir, filename):
-        if filename == 'boost_concept_check.h':
-            return re.compile ('// \(C\) Copyright Jeremy Siek')
-        return GenericFilter.get_line_filter (self, dir, filename)
-
 class GCCCopyright (Copyright):
     def __init__ (self, errors):
         Copyright.__init__ (self, errors)
@@ -682,84 +567,43 @@
         self.add_package_author ('The Free Software Foundation, Inc.', canon_fsf)
         self.add_package_author ('Software Foundation, Inc.', canon_fsf)
 
-        self.add_external_author ('ARM')
-        self.add_external_author ('AdaCore')
-        self.add_external_author ('Ami Tavory and Vladimir Dreizin, IBM-HRL.')
-        self.add_external_author ('Cavium Networks.')
-        self.add_external_author ('Faraday Technology Corp.')
-        self.add_external_author ('Florida State University')
-        self.add_external_author ('Greg Colvin and Beman Dawes.')
-        self.add_external_author ('Hewlett-Packard Company')
-        self.add_external_author ('Information Technology Industry Council.')
-        self.add_external_author ('James Theiler, Brian Gough')
-        self.add_external_author ('Makoto Matsumoto and Takuji Nishimura,')
-        self.add_external_author ('National Research Council of Canada.')
-        self.add_external_author ('Peter Dimov and Multi Media Ltd.')
-        self.add_external_author ('Peter Dimov')
-        self.add_external_author ('Pipeline Associates, Inc.')
+        self.add_external_author ('Carnegie Mellon University')
+        self.add_external_author ('John D. Polstra.')
+        self.add_external_author ('Linaro Ltd.')
+        self.add_external_author ('MIPS Computer Systems, Inc.')
+        self.add_external_author ('Red Hat Inc.')
         self.add_external_author ('Regents of the University of California.')
-        self.add_external_author ('Silicon Graphics Computer Systems, Inc.')
-        self.add_external_author ('Silicon Graphics')
-        self.add_external_author ('Stephen L. Moshier')
-        self.add_external_author ('Sun Microsystems, Inc. All rights reserved.')
-        self.add_external_author ('The Go Authors.  All rights reserved.')
-        self.add_external_author ('The Go Authors. All rights reserved.')
-        self.add_external_author ('The Go Authors.')
         self.add_external_author ('The Regents of the University of California.')
-        self.add_external_author ('Unicode, Inc.')
-        self.add_external_author ('University of Toronto.')
+        self.add_external_author ('Third Eye Software, Inc.')
+        self.add_external_author ('Ulrich Drepper')
 
 class GCCCmdLine (CmdLine):
     def __init__ (self):
         CmdLine.__init__ (self, GCCCopyright)
 
         self.add_dir ('.', TopLevelFilter())
-        # boehm-gc is imported from upstream.
+        self.add_dir ('bfd')
+        self.add_dir ('binutils')
+        self.add_dir ('cpu')
         self.add_dir ('config', ConfigFilter())
-        # contrib isn't really part of GCC.
-        self.add_dir ('fixincludes')
-        self.add_dir ('gcc', GCCFilter())
-        self.add_dir (os.path.join ('gcc', 'testsuite'), TestsuiteFilter())
-        self.add_dir ('gnattools')
+        self.add_dir ('elfcpp')
+        self.add_dir ('gas')
+        self.add_dir ('gold')
+        self.add_dir ('gprof')
         self.add_dir ('include')
-        self.add_dir ('libada')
-        self.add_dir ('libatomic')
-        self.add_dir ('libbacktrace')
-        self.add_dir ('libcpp', LibCppFilter())
-        self.add_dir ('libdecnumber')
-        # libffi is imported from upstream.
-        self.add_dir ('libgcc', LibGCCFilter())
-        self.add_dir ('libgfortran')
-        self.add_dir ('libgomp')
-        self.add_dir ('libiberty')
-        self.add_dir ('libitm')
-        self.add_dir ('libjava', LibJavaFilter())
-        self.add_dir (os.path.join ('libjava', 'testsuite'), TestsuiteFilter())
-        self.add_dir ('libmudflap', LibMudflapFilter())
-        self.add_dir (os.path.join ('libmudflap', 'testsuite'),
-                      TestsuiteFilter())
-        self.add_dir ('libobjc')
-        self.add_dir ('libquadmath')
-        # libsanitiser is imported from upstream.
-        self.add_dir ('libssp')
-        self.add_dir ('libstdc++-v3', LibStdCxxFilter())
-        self.add_dir ('lto-plugin')
-        # zlib is imported from upstream.
+        self.add_dir ('ld', LdFilter())
+        self.add_dir ('opcodes')
 
         self.default_dirs = [
-            'gcc',
-            'libada',
-            'libatomic',
-            'libbacktrace',
-            'libcpp',
-            'libdecnumber',
-            'libgcc',
-            'libgfortran',
-            'libgomp',
-            'libitm',
-            'libmudflap',
-            'libobjc',
-            'libstdc++-v3',
+            'bfd',
+            'binutils',
+            'elfcpp',
+            'gas',
+            'gold',
+            'gprof',
+            'include',
+            'ld',
+            'opcodes',
             ]
 
 GCCCmdLine().main()
