From 577cec7bc6d6a1c2b914d0061cdc3cd2ac03e7f3 Mon Sep 17 00:00:00 2001 From: John Voltz Date: Fri, 21 Mar 2008 11:21:02 +0000 Subject: [PATCH] current avr32 gcc patches break x86 and possibly other systems. moving bad patches to separate directory until a proper fix is made. discovered by jacmet and Dr. Nigel Kukard --- .../900-avr32-atmel.1.3.2.patch | 1992 +---------------- .../901-avr32-add-mno-pic.patch | 0 ...2-avr32-fix-pic-redefinition-warning.patch | 0 ...903-avr32-fix-expanding-builtin-xchg.patch | 0 ...-folding-machine-reorg-optimizations.patch | 0 ...use-rjmp-instead-of-got-when-jumping.patch | 0 ...nvalid-assembler-code-on-64bit-hosts.patch | 0 7 files changed, 32 insertions(+), 1960 deletions(-) rename toolchain/gcc/4.2.1/{ => avr32_patches_break_x86}/900-avr32-atmel.1.3.2.patch (91%) rename toolchain/gcc/4.2.1/{ => avr32_patches_break_x86}/901-avr32-add-mno-pic.patch (100%) rename toolchain/gcc/4.2.1/{ => avr32_patches_break_x86}/902-avr32-fix-pic-redefinition-warning.patch (100%) rename toolchain/gcc/4.2.1/{ => avr32_patches_break_x86}/903-avr32-fix-expanding-builtin-xchg.patch (100%) rename toolchain/gcc/4.2.1/{ => avr32_patches_break_x86}/905-avr32-fix-folding-machine-reorg-optimizations.patch (100%) rename toolchain/gcc/4.2.1/{ => avr32_patches_break_x86}/906-avr32-use-rjmp-instead-of-got-when-jumping.patch (100%) rename toolchain/gcc/4.2.1/{ => avr32_patches_break_x86}/908-avr32-fix-invalid-assembler-code-on-64bit-hosts.patch (100%) diff --git a/toolchain/gcc/4.2.1/900-avr32-atmel.1.3.2.patch b/toolchain/gcc/4.2.1/avr32_patches_break_x86/900-avr32-atmel.1.3.2.patch similarity index 91% rename from toolchain/gcc/4.2.1/900-avr32-atmel.1.3.2.patch rename to toolchain/gcc/4.2.1/avr32_patches_break_x86/900-avr32-atmel.1.3.2.patch index 33ffb9f880..0f3da28503 100644 --- a/toolchain/gcc/4.2.1/900-avr32-atmel.1.3.2.patch +++ b/toolchain/gcc/4.2.1/avr32_patches_break_x86/900-avr32-atmel.1.3.2.patch @@ -20414,7 +20414,9 @@ diff -Nrup gcc-4.2.1/gcc/testsuite/gcc.dg/cpp/mac-eol-at-eof.c gcc-4.2.1.atmel.1 --- gcc-4.2.1/gcc/testsuite/gcc.dg/cpp/mac-eol-at-eof.c 2005-02-19 20:48:02.000000000 +0100 +++ gcc-4.2.1.atmel.1.3.2/gcc/testsuite/gcc.dg/cpp/mac-eol-at-eof.c 2007-05-07 14:24:46.000000000 +0200 @@ -1 +1,3 @@ --/* Test no newline at eof warning when Mac line ending is used*/ /* { dg-do compile } */ int main() { return 0; } +-/* Test no newline at eof warning when Mac line ending is used*/ +/* { dg-do compile } */ +int main() { return 0; } \ No newline at end of file +/* Test no newline at eof warning when Mac line ending is used*/ +/* { dg-do compile } */ @@ -20460,37 +20462,37 @@ diff -Nrup gcc-4.2.1/gcc/testsuite/gfortran.dg/char_pointer_assign.f90 gcc-4.2.1 +++ gcc-4.2.1.atmel.1.3.2/gcc/testsuite/gfortran.dg/char_pointer_assign.f90 2007-05-07 16:38:14.000000000 +0200 @@ -1,4 +1,4 @@ -! { dg-do run } -+! { dg-do run } - program char_pointer_assign - ! Test character pointer assignments, required - ! to fix PR18890 and PR21297 -@@ -8,7 +8,7 @@ program char_pointer_assign - character*4, target :: t2(4) =(/"lmno","lmno","lmno","lmno"/) - character*4 :: const - character*4, pointer :: c1, c3 ++! { dg-do run } + program char_pointer_assign + ! Test character pointer assignments, required + ! to fix PR18890 and PR21297 +@@ -8,7 +8,7 @@ program char_pointer_assign + character*4, target :: t2(4) =(/"lmno","lmno","lmno","lmno"/) + character*4 :: const + character*4, pointer :: c1, c3 - character*4, pointer :: c2(:), c4(:) -+ character*4, pointer :: c2(:), c4(:) - allocate (c3, c4(4)) - ! Scalars first. - c3 = "lmno" ! pointer = constant -@@ -24,13 +24,13 @@ program char_pointer_assign - - ! Now arrays. - c4 = "lmno" ! pointer = constant ++ character*4, pointer :: c2(:), c4(:) + allocate (c3, c4(4)) + ! Scalars first. + c3 = "lmno" ! pointer = constant +@@ -24,13 +24,13 @@ program char_pointer_assign + + ! Now arrays. + c4 = "lmno" ! pointer = constant - t2 = c4 ! target = pointer - c2 => t2 ! pointer =>target - const = c2(1) -+ t2 = c4 ! target = pointer -+ c2 => t2 ! pointer =>target -+ const = c2(1) - const(2:3) ="nm" ! c2(:)(2:3) = "nm" is still broken - c2 = const - c4 = c2 ! pointer = pointer ++ t2 = c4 ! target = pointer ++ c2 => t2 ! pointer =>target ++ const = c2(1) + const(2:3) ="nm" ! c2(:)(2:3) = "nm" is still broken + c2 = const + c4 = c2 ! pointer = pointer - const = c4(1) -+ const = c4(1) - const(1:1) ="o" ! c4(:)(1:1) = "o" is still broken - const(4:4) ="l" ! c4(:)(4:4) = "l" is still broken - c4 = const ++ const = c4(1) + const(1:1) ="o" ! c4(:)(1:1) = "o" is still broken + const(4:4) ="l" ! c4(:)(4:4) = "l" is still broken + c4 = const diff -Nrup gcc-4.2.1/gcc/testsuite/g++.old-deja/g++.pt/static11.C gcc-4.2.1.atmel.1.3.2/gcc/testsuite/g++.old-deja/g++.pt/static11.C --- gcc-4.2.1/gcc/testsuite/g++.old-deja/g++.pt/static11.C 2006-02-22 10:05:07.000000000 +0100 +++ gcc-4.2.1.atmel.1.3.2/gcc/testsuite/g++.old-deja/g++.pt/static11.C 2007-09-28 10:31:46.000000000 +0200 @@ -20503,1937 +20505,7 @@ diff -Nrup gcc-4.2.1/gcc/testsuite/g++.old-deja/g++.pt/static11.C gcc-4.2.1.atme // Bug: g++ was failing to destroy C::a because it was using two // different sentry variables for construction and destruction. -diff -Nrup gcc-4.2.1/LAST_UPDATED gcc-4.2.1.atmel.1.3.2/LAST_UPDATED ---- gcc-4.2.1/LAST_UPDATED 2007-07-19 16:33:57.000000000 +0200 -+++ gcc-4.2.1.atmel.1.3.2/LAST_UPDATED 1970-01-01 01:00:00.000000000 +0100 -@@ -1 +0,0 @@ --Obtained from SVN: tags/gcc_4_2_1_release revision 126787 -diff -Nrup gcc-4.2.1/libjava/classpath/external/relaxngDatatype/copying.txt gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/copying.txt ---- gcc-4.2.1/libjava/classpath/external/relaxngDatatype/copying.txt 2006-03-10 14:25:35.000000000 +0100 -+++ gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/copying.txt 2007-09-28 10:34:16.000000000 +0200 -@@ -1,30 +1,30 @@ --Copyright (c) 2001, Thai Open Source Software Center Ltd, Sun Microsystems. --All rights reserved. -- --Redistribution and use in source and binary forms, with or without --modification, are permitted provided that the following conditions are --met: -- -- Redistributions of source code must retain the above copyright -- notice, this list of conditions and the following disclaimer. -- -- Redistributions in binary form must reproduce the above copyright -- notice, this list of conditions and the following disclaimer in -- the documentation and/or other materials provided with the -- distribution. -- -- Neither the names of the copyright holders nor the names of its -- contributors may be used to endorse or promote products derived -- from this software without specific prior written permission. -- --THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS --"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT --LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR --A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR --CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, --EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, --PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR --PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF --LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING --NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS --SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+Copyright (c) 2001, Thai Open Source Software Center Ltd, Sun Microsystems. -+All rights reserved. -+ -+Redistribution and use in source and binary forms, with or without -+modification, are permitted provided that the following conditions are -+met: -+ -+ Redistributions of source code must retain the above copyright -+ notice, this list of conditions and the following disclaimer. -+ -+ Redistributions in binary form must reproduce the above copyright -+ notice, this list of conditions and the following disclaimer in -+ the documentation and/or other materials provided with the -+ distribution. -+ -+ Neither the names of the copyright holders nor the names of its -+ contributors may be used to endorse or promote products derived -+ from this software without specific prior written permission. -+ -+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR -+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -diff -Nrup gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeBuilder.java gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeBuilder.java ---- gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeBuilder.java 2006-03-10 14:25:35.000000000 +0100 -+++ gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeBuilder.java 2007-09-28 10:34:16.000000000 +0200 -@@ -1,45 +1,45 @@ --package org.relaxng.datatype; -- --/** -- * Creates a user-defined type by adding parameters to -- * the pre-defined type. -- * -- * @author James Clark -- * @author Kohsuke KAWAGUCHI -- */ --public interface DatatypeBuilder { -- -- /** -- * Adds a new parameter. -- * -- * @param name -- * The name of the parameter to be added. -- * @param strValue -- * The raw value of the parameter. Caller may not normalize -- * this value because any white space is potentially significant. -- * @param context -- * The context information which can be used by the callee to -- * acquire additional information. This context object is -- * valid only during this method call. The callee may not -- * keep a reference to this object. -- * @exception DatatypeException -- * When the given parameter is inappropriate for some reason. -- * The callee is responsible to recover from this error. -- * That is, the object should behave as if no such error -- * was occured. -- */ -- void addParameter( String name, String strValue, ValidationContext context ) -- throws DatatypeException; -- -- /** -- * Derives a new Datatype from a Datatype by parameters that -- * were already set through the addParameter method. -- * -- * @exception DatatypeException -- * DatatypeException must be thrown if the derivation is -- * somehow invalid. For example, a required parameter is missing, -- * etc. The exception should contain a diagnosis message -- * if possible. -- */ -- Datatype createDatatype() throws DatatypeException; --} -+package org.relaxng.datatype; -+ -+/** -+ * Creates a user-defined type by adding parameters to -+ * the pre-defined type. -+ * -+ * @author James Clark -+ * @author Kohsuke KAWAGUCHI -+ */ -+public interface DatatypeBuilder { -+ -+ /** -+ * Adds a new parameter. -+ * -+ * @param name -+ * The name of the parameter to be added. -+ * @param strValue -+ * The raw value of the parameter. Caller may not normalize -+ * this value because any white space is potentially significant. -+ * @param context -+ * The context information which can be used by the callee to -+ * acquire additional information. This context object is -+ * valid only during this method call. The callee may not -+ * keep a reference to this object. -+ * @exception DatatypeException -+ * When the given parameter is inappropriate for some reason. -+ * The callee is responsible to recover from this error. -+ * That is, the object should behave as if no such error -+ * was occured. -+ */ -+ void addParameter( String name, String strValue, ValidationContext context ) -+ throws DatatypeException; -+ -+ /** -+ * Derives a new Datatype from a Datatype by parameters that -+ * were already set through the addParameter method. -+ * -+ * @exception DatatypeException -+ * DatatypeException must be thrown if the derivation is -+ * somehow invalid. For example, a required parameter is missing, -+ * etc. The exception should contain a diagnosis message -+ * if possible. -+ */ -+ Datatype createDatatype() throws DatatypeException; -+} -diff -Nrup gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeException.java gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeException.java ---- gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeException.java 2006-03-10 14:25:35.000000000 +0100 -+++ gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeException.java 2007-09-28 10:34:16.000000000 +0200 -@@ -1,39 +1,39 @@ --package org.relaxng.datatype; -- --/** -- * Signals Datatype related exceptions. -- * -- * @author James Clark -- * @author Kohsuke KAWAGUCHI -- */ --public class DatatypeException extends Exception { -- -- public DatatypeException( int index, String msg ) { -- super(msg); -- this.index = index; -- } -- public DatatypeException( String msg ) { -- this(UNKNOWN,msg); -- } -- /** -- * A constructor for those datatype libraries which don't support any -- * diagnostic information at all. -- */ -- public DatatypeException() { -- this(UNKNOWN,null); -- } -- -- -- private final int index; -- -- public static final int UNKNOWN = -1; -- -- /** -- * Gets the index of the content where the error occured. -- * UNKNOWN can be returned to indicate that no index information -- * is available. -- */ -- public int getIndex() { -- return index; -- } --} -+package org.relaxng.datatype; -+ -+/** -+ * Signals Datatype related exceptions. -+ * -+ * @author James Clark -+ * @author Kohsuke KAWAGUCHI -+ */ -+public class DatatypeException extends Exception { -+ -+ public DatatypeException( int index, String msg ) { -+ super(msg); -+ this.index = index; -+ } -+ public DatatypeException( String msg ) { -+ this(UNKNOWN,msg); -+ } -+ /** -+ * A constructor for those datatype libraries which don't support any -+ * diagnostic information at all. -+ */ -+ public DatatypeException() { -+ this(UNKNOWN,null); -+ } -+ -+ -+ private final int index; -+ -+ public static final int UNKNOWN = -1; -+ -+ /** -+ * Gets the index of the content where the error occured. -+ * UNKNOWN can be returned to indicate that no index information -+ * is available. -+ */ -+ public int getIndex() { -+ return index; -+ } -+} -diff -Nrup gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/Datatype.java gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/Datatype.java ---- gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/Datatype.java 2006-03-10 14:25:35.000000000 +0100 -+++ gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/Datatype.java 2007-09-28 10:34:16.000000000 +0200 -@@ -1,237 +1,237 @@ --package org.relaxng.datatype; -- --/** -- * Datatype object. -- * -- * This object has the following functionality: -- * -- *
    -- *
  1. functionality to identify a class of character sequences. This is -- * done through the isValid method. -- * -- *
  2. functionality to produce a "value object" from a character sequence and -- * context information. -- * -- *
  3. functionality to test the equality of two value objects. -- *
-- * -- * This interface also defines the createStreamingValidator method, -- * which is intended to efficiently support the validation of -- * large character sequences. -- * -- * @author James Clark -- * @author Kohsuke KAWAGUCHI -- */ --public interface Datatype { -- -- /** -- * Checks if the specified 'literal' matches this Datatype -- * with respect to the current context. -- * -- * @param literal -- * the lexical representation to be checked. -- * @param context -- * If this datatype is context-dependent -- * (i.e. the {@link #isContextDependent} method returns true), -- * then the caller must provide a non-null valid context object. -- * Otherwise, the caller can pass null. -- * -- * @return -- * true if the 'literal' is a member of this Datatype; -- * false if it's not a member of this Datatype. -- */ -- boolean isValid( String literal, ValidationContext context ); -- -- /** -- * Similar to the isValid method but throws an exception with diagnosis -- * in case of errors. -- * -- *

-- * If the specified 'literal' is a valid lexical representation for this -- * datatype, then this method must return without throwing any exception. -- * If not, the callee must throw an exception (with diagnosis message, -- * if possible.) -- * -- *

-- * The application can use this method to provide detailed error message -- * to users. This method is kept separate from the isValid method to -- * achieve higher performance during normal validation. -- * -- * @exception DatatypeException -- * If the given literal is invalid, then this exception is thrown. -- * If the callee supports error diagnosis, then the exception should -- * contain a diagnosis message. -- */ -- void checkValid( String literal, ValidationContext context ) -- throws DatatypeException; -- -- /** -- * Creates an instance of a streaming validator for this type. -- * -- *

-- * By using streaming validators instead of the isValid method, -- * the caller can avoid keeping the entire string, which is -- * sometimes quite big, in memory. -- * -- * @param context -- * If this datatype is context-dependent -- * (i.e. the {@link #isContextDependent} method returns true), -- * then the caller must provide a non-null valid context object. -- * Otherwise, the caller can pass null. -- * The callee may keep a reference to this context object -- * only while the returned streaming validator is being used. -- */ -- DatatypeStreamingValidator createStreamingValidator( ValidationContext context ); -- -- /** -- * Converts lexcial value and the current context to the corresponding -- * value object. -- * -- *

-- * The caller cannot generally assume that the value object is -- * a meaningful Java object. For example, the caller cannot expect -- * this method to return java.lang.Number type for -- * the "integer" type of XML Schema Part 2. -- * -- *

-- * Also, the caller cannot assume that the equals method and -- * the hashCode method of the value object are consistent with -- * the semantics of the datatype. For that purpose, the sameValue -- * method and the valueHashCode method have to be used. Note that -- * this means you cannot use classes like -- * java.util.Hashtable to store the value objects. -- * -- *

-- * The returned value object should be used solely for the sameValue -- * and valueHashCode methods. -- * -- * @param context -- * If this datatype is context-dependent -- * (when the {@link #isContextDependent} method returns true), -- * then the caller must provide a non-null valid context object. -- * Otherwise, the caller can pass null. -- * -- * @return null -- * when the given lexical value is not a valid lexical -- * value for this type. -- */ -- Object createValue( String literal, ValidationContext context ); -- -- /** -- * Tests the equality of two value objects which were originally -- * created by the createValue method of this object. -- * -- * The behavior is undefined if objects not created by this type -- * are passed. It is the caller's responsibility to ensure that -- * value objects belong to this type. -- * -- * @return -- * true if two value objects are considered equal according to -- * the definition of this datatype; false if otherwise. -- */ -- boolean sameValue( Object value1, Object value2 ); -- -- -- /** -- * Computes the hash code for a value object, -- * which is consistent with the sameValue method. -- * -- * @return -- * hash code for the specified value object. -- */ -- int valueHashCode( Object value ); -- -- -- -- -- /** -- * Indicates that the datatype doesn't have ID/IDREF semantics. -- * -- * This value is one of the possible return values of the -- * {@link #getIdType} method. -- */ -- public static final int ID_TYPE_NULL = 0; -- -- /** -- * Indicates that RELAX NG compatibility processors should -- * treat this datatype as having ID semantics. -- * -- * This value is one of the possible return values of the -- * {@link #getIdType} method. -- */ -- public static final int ID_TYPE_ID = 1; -- -- /** -- * Indicates that RELAX NG compatibility processors should -- * treat this datatype as having IDREF semantics. -- * -- * This value is one of the possible return values of the -- * {@link #getIdType} method. -- */ -- public static final int ID_TYPE_IDREF = 2; -- -- /** -- * Indicates that RELAX NG compatibility processors should -- * treat this datatype as having IDREFS semantics. -- * -- * This value is one of the possible return values of the -- * {@link #getIdType} method. -- */ -- public static final int ID_TYPE_IDREFS = 3; -- -- /** -- * Checks if the ID/IDREF semantics is associated with this -- * datatype. -- * -- *

-- * This method is introduced to support the RELAX NG DTD -- * compatibility spec. (Of course it's always free to use -- * this method for other purposes.) -- * -- *

-- * If you are implementing a datatype library and have no idea about -- * the "RELAX NG DTD compatibility" thing, just return -- * ID_TYPE_NULL is fine. -- * -- * @return -- * If this datatype doesn't have any ID/IDREF semantics, -- * it returns {@link #ID_TYPE_NULL}. If it has such a semantics -- * (for example, XSD:ID, XSD:IDREF and comp:ID type), then -- * it returns {@link #ID_TYPE_ID}, {@link #ID_TYPE_IDREF} or -- * {@link #ID_TYPE_IDREFS}. -- */ -- public int getIdType(); -- -- -- /** -- * Checks if this datatype may need a context object for -- * the validation. -- * -- *

-- * The callee must return true even when the context -- * is not always necessary. (For example, the "QName" type -- * doesn't need a context object when validating unprefixed -- * string. But nonetheless QName must return true.) -- * -- *

-- * XSD's string and short types -- * are examples of context-independent datatypes. -- * Its QName and ENTITY types -- * are examples of context-dependent datatypes. -- * -- *

-- * When a datatype is context-independent, then -- * the {@link #isValid} method, the {@link #checkValid} method, -- * the {@link #createStreamingValidator} method and -- * the {@link #createValue} method can be called without -- * providing a context object. -- * -- * @return -- * true if this datatype is context-dependent -- * (it needs a context object sometimes); -- * -- * false if this datatype is context-independent -- * (it never needs a context object). -- */ -- public boolean isContextDependent(); --} -+package org.relaxng.datatype; -+ -+/** -+ * Datatype object. -+ * -+ * This object has the following functionality: -+ * -+ *

    -+ *
  1. functionality to identify a class of character sequences. This is -+ * done through the isValid method. -+ * -+ *
  2. functionality to produce a "value object" from a character sequence and -+ * context information. -+ * -+ *
  3. functionality to test the equality of two value objects. -+ *
-+ * -+ * This interface also defines the createStreamingValidator method, -+ * which is intended to efficiently support the validation of -+ * large character sequences. -+ * -+ * @author James Clark -+ * @author Kohsuke KAWAGUCHI -+ */ -+public interface Datatype { -+ -+ /** -+ * Checks if the specified 'literal' matches this Datatype -+ * with respect to the current context. -+ * -+ * @param literal -+ * the lexical representation to be checked. -+ * @param context -+ * If this datatype is context-dependent -+ * (i.e. the {@link #isContextDependent} method returns true), -+ * then the caller must provide a non-null valid context object. -+ * Otherwise, the caller can pass null. -+ * -+ * @return -+ * true if the 'literal' is a member of this Datatype; -+ * false if it's not a member of this Datatype. -+ */ -+ boolean isValid( String literal, ValidationContext context ); -+ -+ /** -+ * Similar to the isValid method but throws an exception with diagnosis -+ * in case of errors. -+ * -+ *

-+ * If the specified 'literal' is a valid lexical representation for this -+ * datatype, then this method must return without throwing any exception. -+ * If not, the callee must throw an exception (with diagnosis message, -+ * if possible.) -+ * -+ *

-+ * The application can use this method to provide detailed error message -+ * to users. This method is kept separate from the isValid method to -+ * achieve higher performance during normal validation. -+ * -+ * @exception DatatypeException -+ * If the given literal is invalid, then this exception is thrown. -+ * If the callee supports error diagnosis, then the exception should -+ * contain a diagnosis message. -+ */ -+ void checkValid( String literal, ValidationContext context ) -+ throws DatatypeException; -+ -+ /** -+ * Creates an instance of a streaming validator for this type. -+ * -+ *

-+ * By using streaming validators instead of the isValid method, -+ * the caller can avoid keeping the entire string, which is -+ * sometimes quite big, in memory. -+ * -+ * @param context -+ * If this datatype is context-dependent -+ * (i.e. the {@link #isContextDependent} method returns true), -+ * then the caller must provide a non-null valid context object. -+ * Otherwise, the caller can pass null. -+ * The callee may keep a reference to this context object -+ * only while the returned streaming validator is being used. -+ */ -+ DatatypeStreamingValidator createStreamingValidator( ValidationContext context ); -+ -+ /** -+ * Converts lexcial value and the current context to the corresponding -+ * value object. -+ * -+ *

-+ * The caller cannot generally assume that the value object is -+ * a meaningful Java object. For example, the caller cannot expect -+ * this method to return java.lang.Number type for -+ * the "integer" type of XML Schema Part 2. -+ * -+ *

-+ * Also, the caller cannot assume that the equals method and -+ * the hashCode method of the value object are consistent with -+ * the semantics of the datatype. For that purpose, the sameValue -+ * method and the valueHashCode method have to be used. Note that -+ * this means you cannot use classes like -+ * java.util.Hashtable to store the value objects. -+ * -+ *

-+ * The returned value object should be used solely for the sameValue -+ * and valueHashCode methods. -+ * -+ * @param context -+ * If this datatype is context-dependent -+ * (when the {@link #isContextDependent} method returns true), -+ * then the caller must provide a non-null valid context object. -+ * Otherwise, the caller can pass null. -+ * -+ * @return null -+ * when the given lexical value is not a valid lexical -+ * value for this type. -+ */ -+ Object createValue( String literal, ValidationContext context ); -+ -+ /** -+ * Tests the equality of two value objects which were originally -+ * created by the createValue method of this object. -+ * -+ * The behavior is undefined if objects not created by this type -+ * are passed. It is the caller's responsibility to ensure that -+ * value objects belong to this type. -+ * -+ * @return -+ * true if two value objects are considered equal according to -+ * the definition of this datatype; false if otherwise. -+ */ -+ boolean sameValue( Object value1, Object value2 ); -+ -+ -+ /** -+ * Computes the hash code for a value object, -+ * which is consistent with the sameValue method. -+ * -+ * @return -+ * hash code for the specified value object. -+ */ -+ int valueHashCode( Object value ); -+ -+ -+ -+ -+ /** -+ * Indicates that the datatype doesn't have ID/IDREF semantics. -+ * -+ * This value is one of the possible return values of the -+ * {@link #getIdType} method. -+ */ -+ public static final int ID_TYPE_NULL = 0; -+ -+ /** -+ * Indicates that RELAX NG compatibility processors should -+ * treat this datatype as having ID semantics. -+ * -+ * This value is one of the possible return values of the -+ * {@link #getIdType} method. -+ */ -+ public static final int ID_TYPE_ID = 1; -+ -+ /** -+ * Indicates that RELAX NG compatibility processors should -+ * treat this datatype as having IDREF semantics. -+ * -+ * This value is one of the possible return values of the -+ * {@link #getIdType} method. -+ */ -+ public static final int ID_TYPE_IDREF = 2; -+ -+ /** -+ * Indicates that RELAX NG compatibility processors should -+ * treat this datatype as having IDREFS semantics. -+ * -+ * This value is one of the possible return values of the -+ * {@link #getIdType} method. -+ */ -+ public static final int ID_TYPE_IDREFS = 3; -+ -+ /** -+ * Checks if the ID/IDREF semantics is associated with this -+ * datatype. -+ * -+ *

-+ * This method is introduced to support the RELAX NG DTD -+ * compatibility spec. (Of course it's always free to use -+ * this method for other purposes.) -+ * -+ *

-+ * If you are implementing a datatype library and have no idea about -+ * the "RELAX NG DTD compatibility" thing, just return -+ * ID_TYPE_NULL is fine. -+ * -+ * @return -+ * If this datatype doesn't have any ID/IDREF semantics, -+ * it returns {@link #ID_TYPE_NULL}. If it has such a semantics -+ * (for example, XSD:ID, XSD:IDREF and comp:ID type), then -+ * it returns {@link #ID_TYPE_ID}, {@link #ID_TYPE_IDREF} or -+ * {@link #ID_TYPE_IDREFS}. -+ */ -+ public int getIdType(); -+ -+ -+ /** -+ * Checks if this datatype may need a context object for -+ * the validation. -+ * -+ *

-+ * The callee must return true even when the context -+ * is not always necessary. (For example, the "QName" type -+ * doesn't need a context object when validating unprefixed -+ * string. But nonetheless QName must return true.) -+ * -+ *

-+ * XSD's string and short types -+ * are examples of context-independent datatypes. -+ * Its QName and ENTITY types -+ * are examples of context-dependent datatypes. -+ * -+ *

-+ * When a datatype is context-independent, then -+ * the {@link #isValid} method, the {@link #checkValid} method, -+ * the {@link #createStreamingValidator} method and -+ * the {@link #createValue} method can be called without -+ * providing a context object. -+ * -+ * @return -+ * true if this datatype is context-dependent -+ * (it needs a context object sometimes); -+ * -+ * false if this datatype is context-independent -+ * (it never needs a context object). -+ */ -+ public boolean isContextDependent(); -+} -diff -Nrup gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeLibraryFactory.java gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeLibraryFactory.java ---- gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeLibraryFactory.java 2006-03-10 14:25:35.000000000 +0100 -+++ gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeLibraryFactory.java 2007-09-28 10:34:16.000000000 +0200 -@@ -1,26 +1,26 @@ --package org.relaxng.datatype; -- --/** -- * Factory class for the DatatypeLibrary class. -- * -- *

-- * The datatype library should provide the implementation of -- * this interface if it wants to be found by the schema processors. -- * The implementor also have to place a file in your jar file. -- * See the reference datatype library implementation for detail. -- * -- * @author James Clark -- * @author Kohsuke KAWAGUCHI -- */ --public interface DatatypeLibraryFactory --{ -- /** -- * Creates a new instance of a DatatypeLibrary that supports -- * the specified namespace URI. -- * -- * @return -- * null if the specified namespace URI is not -- * supported. -- */ -- DatatypeLibrary createDatatypeLibrary( String namespaceURI ); --} -+package org.relaxng.datatype; -+ -+/** -+ * Factory class for the DatatypeLibrary class. -+ * -+ *

-+ * The datatype library should provide the implementation of -+ * this interface if it wants to be found by the schema processors. -+ * The implementor also have to place a file in your jar file. -+ * See the reference datatype library implementation for detail. -+ * -+ * @author James Clark -+ * @author Kohsuke KAWAGUCHI -+ */ -+public interface DatatypeLibraryFactory -+{ -+ /** -+ * Creates a new instance of a DatatypeLibrary that supports -+ * the specified namespace URI. -+ * -+ * @return -+ * null if the specified namespace URI is not -+ * supported. -+ */ -+ DatatypeLibrary createDatatypeLibrary( String namespaceURI ); -+} -diff -Nrup gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeLibrary.java gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeLibrary.java ---- gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeLibrary.java 2006-03-10 14:25:35.000000000 +0100 -+++ gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeLibrary.java 2007-09-28 10:34:16.000000000 +0200 -@@ -1,37 +1,37 @@ --package org.relaxng.datatype; -- --/** -- * A Datatype library -- * -- * @author James Clark -- * @author Kohsuke KAWAGUCHI -- */ --public interface DatatypeLibrary { -- -- /** -- * Creates a new instance of DatatypeBuilder. -- * -- * The callee should throw a DatatypeException in case of an error. -- * -- * @param baseTypeLocalName -- * The local name of the base type. -- * -- * @return -- * A non-null valid datatype object. -- */ -- DatatypeBuilder createDatatypeBuilder( String baseTypeLocalName ) -- throws DatatypeException; -- -- /** -- * Gets or creates a pre-defined type. -- * -- * This is just a short-cut of -- * createDatatypeBuilder(typeLocalName).createDatatype(); -- * -- * The callee should throw a DatatypeException in case of an error. -- * -- * @return -- * A non-null valid datatype object. -- */ -- Datatype createDatatype( String typeLocalName ) throws DatatypeException; --} -+package org.relaxng.datatype; -+ -+/** -+ * A Datatype library -+ * -+ * @author James Clark -+ * @author Kohsuke KAWAGUCHI -+ */ -+public interface DatatypeLibrary { -+ -+ /** -+ * Creates a new instance of DatatypeBuilder. -+ * -+ * The callee should throw a DatatypeException in case of an error. -+ * -+ * @param baseTypeLocalName -+ * The local name of the base type. -+ * -+ * @return -+ * A non-null valid datatype object. -+ */ -+ DatatypeBuilder createDatatypeBuilder( String baseTypeLocalName ) -+ throws DatatypeException; -+ -+ /** -+ * Gets or creates a pre-defined type. -+ * -+ * This is just a short-cut of -+ * createDatatypeBuilder(typeLocalName).createDatatype(); -+ * -+ * The callee should throw a DatatypeException in case of an error. -+ * -+ * @return -+ * A non-null valid datatype object. -+ */ -+ Datatype createDatatype( String typeLocalName ) throws DatatypeException; -+} -diff -Nrup gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeStreamingValidator.java gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeStreamingValidator.java ---- gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeStreamingValidator.java 2006-03-10 14:25:35.000000000 +0100 -+++ gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/DatatypeStreamingValidator.java 2007-09-28 10:34:16.000000000 +0200 -@@ -1,46 +1,46 @@ --package org.relaxng.datatype; -- --/** -- * Datatype streaming validator. -- * -- *

-- * The streaming validator is an optional feature that is useful for -- * certain Datatypes. It allows the caller to incrementally provide -- * the literal. -- * -- * @author James Clark -- * @author Kohsuke KAWAGUCHI -- */ --public interface DatatypeStreamingValidator { -- -- /** -- * Passes an additional fragment of the literal. -- * -- *

-- * The application can call this method several times, then call -- * the isValid method (or the checkValid method) to check the validity -- * of the accumulated characters. -- */ -- void addCharacters( char[] buf, int start, int len ); -- -- /** -- * Tells if the accumulated literal is valid with respect to -- * the underlying Datatype. -- * -- * @return -- * True if it is valid. False if otherwise. -- */ -- boolean isValid(); -- -- /** -- * Similar to the isValid method, but this method throws -- * Exception (with possibly diagnostic information), instead of -- * returning false. -- * -- * @exception DatatypeException -- * If the callee supports the diagnosis and the accumulated -- * literal is invalid, then this exception that possibly -- * contains diagnosis information is thrown. -- */ -- void checkValid() throws DatatypeException; --} -+package org.relaxng.datatype; -+ -+/** -+ * Datatype streaming validator. -+ * -+ *

-+ * The streaming validator is an optional feature that is useful for -+ * certain Datatypes. It allows the caller to incrementally provide -+ * the literal. -+ * -+ * @author James Clark -+ * @author Kohsuke KAWAGUCHI -+ */ -+public interface DatatypeStreamingValidator { -+ -+ /** -+ * Passes an additional fragment of the literal. -+ * -+ *

-+ * The application can call this method several times, then call -+ * the isValid method (or the checkValid method) to check the validity -+ * of the accumulated characters. -+ */ -+ void addCharacters( char[] buf, int start, int len ); -+ -+ /** -+ * Tells if the accumulated literal is valid with respect to -+ * the underlying Datatype. -+ * -+ * @return -+ * True if it is valid. False if otherwise. -+ */ -+ boolean isValid(); -+ -+ /** -+ * Similar to the isValid method, but this method throws -+ * Exception (with possibly diagnostic information), instead of -+ * returning false. -+ * -+ * @exception DatatypeException -+ * If the callee supports the diagnosis and the accumulated -+ * literal is invalid, then this exception that possibly -+ * contains diagnosis information is thrown. -+ */ -+ void checkValid() throws DatatypeException; -+} -diff -Nrup gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java ---- gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java 2006-03-10 14:25:35.000000000 +0100 -+++ gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java 2007-09-28 10:34:16.000000000 +0200 -@@ -1,262 +1,262 @@ --/** -- * Copyright (c) 2001, Thai Open Source Software Center Ltd -- * All rights reserved. -- * -- * Redistribution and use in source and binary forms, with or without -- * modification, are permitted provided that the following conditions are -- * met: -- * -- * Redistributions of source code must retain the above copyright -- * notice, this list of conditions and the following disclaimer. -- * -- * Redistributions in binary form must reproduce the above copyright -- * notice, this list of conditions and the following disclaimer in -- * the documentation and/or other materials provided with the -- * distribution. -- * -- * Neither the name of the Thai Open Source Software Center Ltd nor -- * the names of its contributors may be used to endorse or promote -- * products derived from this software without specific prior written -- * permission. -- * -- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR -- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- */ --package org.relaxng.datatype.helpers; -- --import org.relaxng.datatype.DatatypeLibraryFactory; --import org.relaxng.datatype.DatatypeLibrary; --import java.util.Enumeration; --import java.util.NoSuchElementException; --import java.util.Vector; --import java.io.Reader; --import java.io.InputStream; --import java.io.InputStreamReader; --import java.io.BufferedReader; --import java.io.IOException; --import java.io.UnsupportedEncodingException; --import java.net.URL; -- --/** -- * Discovers the datatype library implementation from the classpath. -- * -- *

-- * The call of the createDatatypeLibrary method finds an implementation -- * from a given datatype library URI at run-time. -- */ --public class DatatypeLibraryLoader implements DatatypeLibraryFactory { -- private final Service service = new Service(DatatypeLibraryFactory.class); -- -- public DatatypeLibrary createDatatypeLibrary(String uri) { -- for (Enumeration e = service.getProviders(); -- e.hasMoreElements();) { -- DatatypeLibraryFactory factory -- = (DatatypeLibraryFactory)e.nextElement(); -- DatatypeLibrary library = factory.createDatatypeLibrary(uri); -- if (library != null) -- return library; -- } -- return null; -- } -- -- private static class Service { -- private final Class serviceClass; -- private final Enumeration configFiles; -- private Enumeration classNames = null; -- private final Vector providers = new Vector(); -- private Loader loader; -- -- private class ProviderEnumeration implements Enumeration { -- private int nextIndex = 0; -- -- public boolean hasMoreElements() { -- return nextIndex < providers.size() || moreProviders(); -- } -- -- public Object nextElement() { -- try { -- return providers.elementAt(nextIndex++); -- } -- catch (ArrayIndexOutOfBoundsException e) { -- throw new NoSuchElementException(); -- } -- } -- } -- -- private static class Singleton implements Enumeration { -- private Object obj; -- private Singleton(Object obj) { -- this.obj = obj; -- } -- -- public boolean hasMoreElements() { -- return obj != null; -- } -- -- public Object nextElement() { -- if (obj == null) -- throw new NoSuchElementException(); -- Object tem = obj; -- obj = null; -- return tem; -- } -- } -- -- // JDK 1.1 -- private static class Loader { -- Enumeration getResources(String resName) { -- ClassLoader cl = Loader.class.getClassLoader(); -- URL url; -- if (cl == null) -- url = ClassLoader.getSystemResource(resName); -- else -- url = cl.getResource(resName); -- return new Singleton(url); -- } -- -- Class loadClass(String name) throws ClassNotFoundException { -- return Class.forName(name); -- } -- } -- -- // JDK 1.2+ -- private static class Loader2 extends Loader { -- private ClassLoader cl; -- -- Loader2() { -- cl = Loader2.class.getClassLoader(); -- // If the thread context class loader has the class loader -- // of this class as an ancestor, use the thread context class -- // loader. Otherwise, the thread context class loader -- // probably hasn't been set up properly, so don't use it. -- ClassLoader clt = Thread.currentThread().getContextClassLoader(); -- for (ClassLoader tem = clt; tem != null; tem = tem.getParent()) -- if (tem == cl) { -- cl = clt; -- break; -- } -- } -- -- Enumeration getResources(String resName) { -- try { -- return cl.getResources(resName); -- } -- catch (IOException e) { -- return new Singleton(null); -- } -- } -- -- Class loadClass(String name) throws ClassNotFoundException { -- return Class.forName(name, true, cl); -- } -- } -- -- public Service(Class cls) { -- try { -- loader = new Loader2(); -- } -- catch (NoSuchMethodError e) { -- loader = new Loader(); -- } -- serviceClass = cls; -- String resName = "META-INF/services/" + serviceClass.getName(); -- configFiles = loader.getResources(resName); -- } -- -- public Enumeration getProviders() { -- return new ProviderEnumeration(); -- } -- -- synchronized private boolean moreProviders() { -- for (;;) { -- while (classNames == null) { -- if (!configFiles.hasMoreElements()) -- return false; -- classNames = parseConfigFile((URL)configFiles.nextElement()); -- } -- while (classNames.hasMoreElements()) { -- String className = (String)classNames.nextElement(); -- try { -- Class cls = loader.loadClass(className); -- Object obj = cls.newInstance(); -- if (serviceClass.isInstance(obj)) { -- providers.addElement(obj); -- return true; -- } -- } -- catch (ClassNotFoundException e) { } -- catch (InstantiationException e) { } -- catch (IllegalAccessException e) { } -- catch (LinkageError e) { } -- } -- classNames = null; -- } -- } -- -- private static final int START = 0; -- private static final int IN_NAME = 1; -- private static final int IN_COMMENT = 2; -- -- private static Enumeration parseConfigFile(URL url) { -- try { -- InputStream in = url.openStream(); -- Reader r; -- try { -- r = new InputStreamReader(in, "UTF-8"); -- } -- catch (UnsupportedEncodingException e) { -- r = new InputStreamReader(in, "UTF8"); -- } -- r = new BufferedReader(r); -- Vector tokens = new Vector(); -- StringBuffer tokenBuf = new StringBuffer(); -- int state = START; -- for (;;) { -- int n = r.read(); -- if (n < 0) -- break; -- char c = (char)n; -- switch (c) { -- case '\r': -- case '\n': -- state = START; -- break; -- case ' ': -- case '\t': -- break; -- case '#': -- state = IN_COMMENT; -- break; -- default: -- if (state != IN_COMMENT) { -- state = IN_NAME; -- tokenBuf.append(c); -- } -- break; -- } -- if (tokenBuf.length() != 0 && state != IN_NAME) { -- tokens.addElement(tokenBuf.toString()); -- tokenBuf.setLength(0); -- } -- } -- if (tokenBuf.length() != 0) -- tokens.addElement(tokenBuf.toString()); -- return tokens.elements(); -- } -- catch (IOException e) { -- return null; -- } -- } -- } -- --} -- -+/** -+ * Copyright (c) 2001, Thai Open Source Software Center Ltd -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are -+ * met: -+ * -+ * Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * -+ * Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in -+ * the documentation and/or other materials provided with the -+ * distribution. -+ * -+ * Neither the name of the Thai Open Source Software Center Ltd nor -+ * the names of its contributors may be used to endorse or promote -+ * products derived from this software without specific prior written -+ * permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR -+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+package org.relaxng.datatype.helpers; -+ -+import org.relaxng.datatype.DatatypeLibraryFactory; -+import org.relaxng.datatype.DatatypeLibrary; -+import java.util.Enumeration; -+import java.util.NoSuchElementException; -+import java.util.Vector; -+import java.io.Reader; -+import java.io.InputStream; -+import java.io.InputStreamReader; -+import java.io.BufferedReader; -+import java.io.IOException; -+import java.io.UnsupportedEncodingException; -+import java.net.URL; -+ -+/** -+ * Discovers the datatype library implementation from the classpath. -+ * -+ *

-+ * The call of the createDatatypeLibrary method finds an implementation -+ * from a given datatype library URI at run-time. -+ */ -+public class DatatypeLibraryLoader implements DatatypeLibraryFactory { -+ private final Service service = new Service(DatatypeLibraryFactory.class); -+ -+ public DatatypeLibrary createDatatypeLibrary(String uri) { -+ for (Enumeration e = service.getProviders(); -+ e.hasMoreElements();) { -+ DatatypeLibraryFactory factory -+ = (DatatypeLibraryFactory)e.nextElement(); -+ DatatypeLibrary library = factory.createDatatypeLibrary(uri); -+ if (library != null) -+ return library; -+ } -+ return null; -+ } -+ -+ private static class Service { -+ private final Class serviceClass; -+ private final Enumeration configFiles; -+ private Enumeration classNames = null; -+ private final Vector providers = new Vector(); -+ private Loader loader; -+ -+ private class ProviderEnumeration implements Enumeration { -+ private int nextIndex = 0; -+ -+ public boolean hasMoreElements() { -+ return nextIndex < providers.size() || moreProviders(); -+ } -+ -+ public Object nextElement() { -+ try { -+ return providers.elementAt(nextIndex++); -+ } -+ catch (ArrayIndexOutOfBoundsException e) { -+ throw new NoSuchElementException(); -+ } -+ } -+ } -+ -+ private static class Singleton implements Enumeration { -+ private Object obj; -+ private Singleton(Object obj) { -+ this.obj = obj; -+ } -+ -+ public boolean hasMoreElements() { -+ return obj != null; -+ } -+ -+ public Object nextElement() { -+ if (obj == null) -+ throw new NoSuchElementException(); -+ Object tem = obj; -+ obj = null; -+ return tem; -+ } -+ } -+ -+ // JDK 1.1 -+ private static class Loader { -+ Enumeration getResources(String resName) { -+ ClassLoader cl = Loader.class.getClassLoader(); -+ URL url; -+ if (cl == null) -+ url = ClassLoader.getSystemResource(resName); -+ else -+ url = cl.getResource(resName); -+ return new Singleton(url); -+ } -+ -+ Class loadClass(String name) throws ClassNotFoundException { -+ return Class.forName(name); -+ } -+ } -+ -+ // JDK 1.2+ -+ private static class Loader2 extends Loader { -+ private ClassLoader cl; -+ -+ Loader2() { -+ cl = Loader2.class.getClassLoader(); -+ // If the thread context class loader has the class loader -+ // of this class as an ancestor, use the thread context class -+ // loader. Otherwise, the thread context class loader -+ // probably hasn't been set up properly, so don't use it. -+ ClassLoader clt = Thread.currentThread().getContextClassLoader(); -+ for (ClassLoader tem = clt; tem != null; tem = tem.getParent()) -+ if (tem == cl) { -+ cl = clt; -+ break; -+ } -+ } -+ -+ Enumeration getResources(String resName) { -+ try { -+ return cl.getResources(resName); -+ } -+ catch (IOException e) { -+ return new Singleton(null); -+ } -+ } -+ -+ Class loadClass(String name) throws ClassNotFoundException { -+ return Class.forName(name, true, cl); -+ } -+ } -+ -+ public Service(Class cls) { -+ try { -+ loader = new Loader2(); -+ } -+ catch (NoSuchMethodError e) { -+ loader = new Loader(); -+ } -+ serviceClass = cls; -+ String resName = "META-INF/services/" + serviceClass.getName(); -+ configFiles = loader.getResources(resName); -+ } -+ -+ public Enumeration getProviders() { -+ return new ProviderEnumeration(); -+ } -+ -+ synchronized private boolean moreProviders() { -+ for (;;) { -+ while (classNames == null) { -+ if (!configFiles.hasMoreElements()) -+ return false; -+ classNames = parseConfigFile((URL)configFiles.nextElement()); -+ } -+ while (classNames.hasMoreElements()) { -+ String className = (String)classNames.nextElement(); -+ try { -+ Class cls = loader.loadClass(className); -+ Object obj = cls.newInstance(); -+ if (serviceClass.isInstance(obj)) { -+ providers.addElement(obj); -+ return true; -+ } -+ } -+ catch (ClassNotFoundException e) { } -+ catch (InstantiationException e) { } -+ catch (IllegalAccessException e) { } -+ catch (LinkageError e) { } -+ } -+ classNames = null; -+ } -+ } -+ -+ private static final int START = 0; -+ private static final int IN_NAME = 1; -+ private static final int IN_COMMENT = 2; -+ -+ private static Enumeration parseConfigFile(URL url) { -+ try { -+ InputStream in = url.openStream(); -+ Reader r; -+ try { -+ r = new InputStreamReader(in, "UTF-8"); -+ } -+ catch (UnsupportedEncodingException e) { -+ r = new InputStreamReader(in, "UTF8"); -+ } -+ r = new BufferedReader(r); -+ Vector tokens = new Vector(); -+ StringBuffer tokenBuf = new StringBuffer(); -+ int state = START; -+ for (;;) { -+ int n = r.read(); -+ if (n < 0) -+ break; -+ char c = (char)n; -+ switch (c) { -+ case '\r': -+ case '\n': -+ state = START; -+ break; -+ case ' ': -+ case '\t': -+ break; -+ case '#': -+ state = IN_COMMENT; -+ break; -+ default: -+ if (state != IN_COMMENT) { -+ state = IN_NAME; -+ tokenBuf.append(c); -+ } -+ break; -+ } -+ if (tokenBuf.length() != 0 && state != IN_NAME) { -+ tokens.addElement(tokenBuf.toString()); -+ tokenBuf.setLength(0); -+ } -+ } -+ if (tokenBuf.length() != 0) -+ tokens.addElement(tokenBuf.toString()); -+ return tokens.elements(); -+ } -+ catch (IOException e) { -+ return null; -+ } -+ } -+ } -+ -+} -+ -diff -Nrup gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java ---- gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java 2006-03-10 14:25:35.000000000 +0100 -+++ gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java 2007-09-28 10:34:16.000000000 +0200 -@@ -1,42 +1,42 @@ --package org.relaxng.datatype.helpers; -- --import org.relaxng.datatype.*; -- --/** -- * Dummy implementation of {@link DatatypeBuilder}. -- * -- * This implementation can be used for Datatypes which have no parameters. -- * Any attempt to add parameters will be rejected. -- * -- *

-- * Typical usage would be: -- *


-- * class MyDatatypeLibrary implements DatatypeLibrary {
-- *     ....
-- *     DatatypeBuilder createDatatypeBuilder( String typeName ) {
-- *         return new ParameterleessDatatypeBuilder(createDatatype(typeName));
-- *     }
-- *     ....
-- * }
-- * 
-- * -- * @author Kohsuke KAWAGUCHI -- */ --public final class ParameterlessDatatypeBuilder implements DatatypeBuilder { -- -- /** This type object is returned for the derive method. */ -- private final Datatype baseType; -- -- public ParameterlessDatatypeBuilder( Datatype baseType ) { -- this.baseType = baseType; -- } -- -- public void addParameter( String name, String strValue, ValidationContext context ) -- throws DatatypeException { -- throw new DatatypeException(); -- } -- -- public Datatype createDatatype() throws DatatypeException { -- return baseType; -- } --} -+package org.relaxng.datatype.helpers; -+ -+import org.relaxng.datatype.*; -+ -+/** -+ * Dummy implementation of {@link DatatypeBuilder}. -+ * -+ * This implementation can be used for Datatypes which have no parameters. -+ * Any attempt to add parameters will be rejected. -+ * -+ *

-+ * Typical usage would be: -+ *


-+ * class MyDatatypeLibrary implements DatatypeLibrary {
-+ *     ....
-+ *     DatatypeBuilder createDatatypeBuilder( String typeName ) {
-+ *         return new ParameterleessDatatypeBuilder(createDatatype(typeName));
-+ *     }
-+ *     ....
-+ * }
-+ * 
-+ * -+ * @author Kohsuke KAWAGUCHI -+ */ -+public final class ParameterlessDatatypeBuilder implements DatatypeBuilder { -+ -+ /** This type object is returned for the derive method. */ -+ private final Datatype baseType; -+ -+ public ParameterlessDatatypeBuilder( Datatype baseType ) { -+ this.baseType = baseType; -+ } -+ -+ public void addParameter( String name, String strValue, ValidationContext context ) -+ throws DatatypeException { -+ throw new DatatypeException(); -+ } -+ -+ public Datatype createDatatype() throws DatatypeException { -+ return baseType; -+ } -+} -diff -Nrup gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidatorImpl.java gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidatorImpl.java ---- gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidatorImpl.java 2006-03-10 14:25:35.000000000 +0100 -+++ gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidatorImpl.java 2007-09-28 10:34:16.000000000 +0200 -@@ -1,55 +1,55 @@ --package org.relaxng.datatype.helpers; -- --import org.relaxng.datatype.*; -- --/** -- * Dummy implementation of {@link DatatypeStreamingValidator}. -- * -- *

-- * This implementation can be used as a quick hack when the performance -- * of streaming validation is not important. And this implementation -- * also shows you how to implement the DatatypeStreamingValidator interface. -- * -- *

-- * Typical usage would be: -- *


-- * class MyDatatype implements Datatype {
-- *     ....
-- *     public DatatypeStreamingValidator createStreamingValidator( ValidationContext context ) {
-- *         return new StreamingValidatorImpl(this,context);
-- *     }
-- *     ....
-- * }
-- * 
-- * -- * @author Kohsuke KAWAGUCHI -- */ --public final class StreamingValidatorImpl implements DatatypeStreamingValidator { -- -- /** This buffer accumulates characters. */ -- private final StringBuffer buffer = new StringBuffer(); -- -- /** Datatype obejct that creates this streaming validator. */ -- private final Datatype baseType; -- -- /** The current context. */ -- private final ValidationContext context; -- -- public void addCharacters( char[] buf, int start, int len ) { -- // append characters to the current buffer. -- buffer.append(buf,start,len); -- } -- -- public boolean isValid() { -- return baseType.isValid(buffer.toString(),context); -- } -- -- public void checkValid() throws DatatypeException { -- baseType.checkValid(buffer.toString(),context); -- } -- -- public StreamingValidatorImpl( Datatype baseType, ValidationContext context ) { -- this.baseType = baseType; -- this.context = context; -- } --} -+package org.relaxng.datatype.helpers; -+ -+import org.relaxng.datatype.*; -+ -+/** -+ * Dummy implementation of {@link DatatypeStreamingValidator}. -+ * -+ *

-+ * This implementation can be used as a quick hack when the performance -+ * of streaming validation is not important. And this implementation -+ * also shows you how to implement the DatatypeStreamingValidator interface. -+ * -+ *

-+ * Typical usage would be: -+ *


-+ * class MyDatatype implements Datatype {
-+ *     ....
-+ *     public DatatypeStreamingValidator createStreamingValidator( ValidationContext context ) {
-+ *         return new StreamingValidatorImpl(this,context);
-+ *     }
-+ *     ....
-+ * }
-+ * 
-+ * -+ * @author Kohsuke KAWAGUCHI -+ */ -+public final class StreamingValidatorImpl implements DatatypeStreamingValidator { -+ -+ /** This buffer accumulates characters. */ -+ private final StringBuffer buffer = new StringBuffer(); -+ -+ /** Datatype obejct that creates this streaming validator. */ -+ private final Datatype baseType; -+ -+ /** The current context. */ -+ private final ValidationContext context; -+ -+ public void addCharacters( char[] buf, int start, int len ) { -+ // append characters to the current buffer. -+ buffer.append(buf,start,len); -+ } -+ -+ public boolean isValid() { -+ return baseType.isValid(buffer.toString(),context); -+ } -+ -+ public void checkValid() throws DatatypeException { -+ baseType.checkValid(buffer.toString(),context); -+ } -+ -+ public StreamingValidatorImpl( Datatype baseType, ValidationContext context ) { -+ this.baseType = baseType; -+ this.context = context; -+ } -+} -diff -Nrup gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/ValidationContext.java gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/ValidationContext.java ---- gcc-4.2.1/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/ValidationContext.java 2006-03-10 14:25:35.000000000 +0100 -+++ gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/org/relaxng/datatype/ValidationContext.java 2007-09-28 10:34:16.000000000 +0200 -@@ -1,66 +1,66 @@ --package org.relaxng.datatype; -- --/** -- * An interface that must be implemented by caller to -- * provide context information that is necessary to -- * perform validation of some Datatypes. -- * -- * @author James Clark -- * @author Kohsuke KAWAGUCHI -- */ --public interface ValidationContext { -- -- /** -- * Resolves a namespace prefix to the corresponding namespace URI. -- * -- * This method is used for validating the QName type, for example. -- * -- *

-- * If the prefix is "" (empty string), it indicates -- * an unprefixed value. The callee -- * should resolve it as for an unprefixed -- * element, rather than for an unprefixed attribute. -- * -- *

-- * If the prefix is "xml", then the callee must resolve -- * this prefix into "http://www.w3.org/XML/1998/namespace", -- * as defined in the XML Namespaces Recommendation. -- * -- * @return -- * namespace URI of this prefix. -- * If the specified prefix is not declared, -- * the implementation must return null. -- */ -- String resolveNamespacePrefix( String prefix ); -- -- /** -- * Returns the base URI of the context. The null string may be returned -- * if no base URI is known. -- */ -- String getBaseUri(); -- -- /** -- * Checks if an unparsed entity is declared with the -- * specified name. -- * -- * @return -- * true -- * if the DTD has an unparsed entity declaration for -- * the specified name. -- * false -- * otherwise. -- */ -- boolean isUnparsedEntity( String entityName ); -- -- /** -- * Checks if a notation is declared with the -- * specified name. -- * -- * @return -- * true -- * if the DTD has a notation declaration for the specified name. -- * false -- * otherwise. -- */ -- boolean isNotation( String notationName ); --} -+package org.relaxng.datatype; -+ -+/** -+ * An interface that must be implemented by caller to -+ * provide context information that is necessary to -+ * perform validation of some Datatypes. -+ * -+ * @author James Clark -+ * @author Kohsuke KAWAGUCHI -+ */ -+public interface ValidationContext { -+ -+ /** -+ * Resolves a namespace prefix to the corresponding namespace URI. -+ * -+ * This method is used for validating the QName type, for example. -+ * -+ *

-+ * If the prefix is "" (empty string), it indicates -+ * an unprefixed value. The callee -+ * should resolve it as for an unprefixed -+ * element, rather than for an unprefixed attribute. -+ * -+ *

-+ * If the prefix is "xml", then the callee must resolve -+ * this prefix into "http://www.w3.org/XML/1998/namespace", -+ * as defined in the XML Namespaces Recommendation. -+ * -+ * @return -+ * namespace URI of this prefix. -+ * If the specified prefix is not declared, -+ * the implementation must return null. -+ */ -+ String resolveNamespacePrefix( String prefix ); -+ -+ /** -+ * Returns the base URI of the context. The null string may be returned -+ * if no base URI is known. -+ */ -+ String getBaseUri(); -+ -+ /** -+ * Checks if an unparsed entity is declared with the -+ * specified name. -+ * -+ * @return -+ * true -+ * if the DTD has an unparsed entity declaration for -+ * the specified name. -+ * false -+ * otherwise. -+ */ -+ boolean isUnparsedEntity( String entityName ); -+ -+ /** -+ * Checks if a notation is declared with the -+ * specified name. -+ * -+ * @return -+ * true -+ * if the DTD has a notation declaration for the specified name. -+ * false -+ * otherwise. -+ */ -+ boolean isNotation( String notationName ); -+} -diff -Nrup gcc-4.2.1/libjava/classpath/external/relaxngDatatype/README.txt gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/README.txt ---- gcc-4.2.1/libjava/classpath/external/relaxngDatatype/README.txt 2006-03-10 14:25:35.000000000 +0100 -+++ gcc-4.2.1.atmel.1.3.2/libjava/classpath/external/relaxngDatatype/README.txt 2007-09-28 10:34:16.000000000 +0200 -@@ -1,54 +1,54 @@ --====================================================================== -- README FILE FOR DATATYPE INTERFACES FOR RELAX NG --====================================================================== -- -- -- --RELAX NG supports multiple datatype vocabularies. To achive this, an --interface between datatype vocabularies and schema processors is --necessary. This interface is intended to be a standard Java interface --for this purpose. -- -- ------------------------------------------------------------------------ --LICENSE ------------------------------------------------------------------------ -- --See copying.txt. -- --Note: this license is the BSD license. -- -- -- ------------------------------------------------------------------------ --FOR DEVELOPER ------------------------------------------------------------------------ -- --If you are planning to implement a datatype library, A sample datatype --library implementation by James Clark is available at [1], which --comes with documentation and source code. -- --If you are planning to implement a schema processor, then don't forget --to check out org.relaxng.datatype.helpers.DatatypeLibraryLoader, as --this allows you to dynamically locate datatype implementations. -- -- ------------------------------------------------------------------------ --LINKS ------------------------------------------------------------------------ -- --* OASIS RELAX NG TC -- http://www.oasis-open.org/committees/relax-ng/ --* RELAX home page -- http://www.xml.gr.jp/relax/ -- -- ------------------------------------------------------------------------ --REFERENCES ------------------------------------------------------------------------ --[1] Sample datatype library implementation by James Clark -- http://www.thaiopensource.com/relaxng/datatype-sample.zip -- --Document written by Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com) --====================================================================== --END OF README -+====================================================================== -+ README FILE FOR DATATYPE INTERFACES FOR RELAX NG -+====================================================================== -+ -+ -+ -+RELAX NG supports multiple datatype vocabularies. To achive this, an -+interface between datatype vocabularies and schema processors is -+necessary. This interface is intended to be a standard Java interface -+for this purpose. -+ -+ -+---------------------------------------------------------------------- -+LICENSE -+---------------------------------------------------------------------- -+ -+See copying.txt. -+ -+Note: this license is the BSD license. -+ -+ -+ -+---------------------------------------------------------------------- -+FOR DEVELOPER -+---------------------------------------------------------------------- -+ -+If you are planning to implement a datatype library, A sample datatype -+library implementation by James Clark is available at [1], which -+comes with documentation and source code. -+ -+If you are planning to implement a schema processor, then don't forget -+to check out org.relaxng.datatype.helpers.DatatypeLibraryLoader, as -+this allows you to dynamically locate datatype implementations. -+ -+ -+---------------------------------------------------------------------- -+LINKS -+---------------------------------------------------------------------- -+ -+* OASIS RELAX NG TC -+ http://www.oasis-open.org/committees/relax-ng/ -+* RELAX home page -+ http://www.xml.gr.jp/relax/ -+ -+ -+---------------------------------------------------------------------- -+REFERENCES -+---------------------------------------------------------------------- -+[1] Sample datatype library implementation by James Clark -+ http://www.thaiopensource.com/relaxng/datatype-sample.zip -+ -+Document written by Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com) -+====================================================================== -+END OF README + diff -Nrup gcc-4.2.1/libstdc++-v3/acinclude.m4 gcc-4.2.1.atmel.1.3.2/libstdc++-v3/acinclude.m4 --- gcc-4.2.1/libstdc++-v3/acinclude.m4 2007-06-29 01:02:05.000000000 +0200 +++ gcc-4.2.1.atmel.1.3.2/libstdc++-v3/acinclude.m4 2007-09-28 10:33:34.000000000 +0200 @@ -22457,8 +20529,8 @@ diff -Nrup gcc-4.2.1/libstdc++-v3/acinclude.m4 gcc-4.2.1.atmel.1.3.2/libstdc++-v #endif int main() { -- const char __one[] = "Äuglein Augmen"; -- const char __two[] = "Äuglein"; +- const char __one[] = "�uglein Augmen"; +- const char __two[] = "�uglein"; + const char __one[] = "Äuglein Augmen"; + const char __two[] = "Äuglein"; int i; diff --git a/toolchain/gcc/4.2.1/901-avr32-add-mno-pic.patch b/toolchain/gcc/4.2.1/avr32_patches_break_x86/901-avr32-add-mno-pic.patch similarity index 100% rename from toolchain/gcc/4.2.1/901-avr32-add-mno-pic.patch rename to toolchain/gcc/4.2.1/avr32_patches_break_x86/901-avr32-add-mno-pic.patch diff --git a/toolchain/gcc/4.2.1/902-avr32-fix-pic-redefinition-warning.patch b/toolchain/gcc/4.2.1/avr32_patches_break_x86/902-avr32-fix-pic-redefinition-warning.patch similarity index 100% rename from toolchain/gcc/4.2.1/902-avr32-fix-pic-redefinition-warning.patch rename to toolchain/gcc/4.2.1/avr32_patches_break_x86/902-avr32-fix-pic-redefinition-warning.patch diff --git a/toolchain/gcc/4.2.1/903-avr32-fix-expanding-builtin-xchg.patch b/toolchain/gcc/4.2.1/avr32_patches_break_x86/903-avr32-fix-expanding-builtin-xchg.patch similarity index 100% rename from toolchain/gcc/4.2.1/903-avr32-fix-expanding-builtin-xchg.patch rename to toolchain/gcc/4.2.1/avr32_patches_break_x86/903-avr32-fix-expanding-builtin-xchg.patch diff --git a/toolchain/gcc/4.2.1/905-avr32-fix-folding-machine-reorg-optimizations.patch b/toolchain/gcc/4.2.1/avr32_patches_break_x86/905-avr32-fix-folding-machine-reorg-optimizations.patch similarity index 100% rename from toolchain/gcc/4.2.1/905-avr32-fix-folding-machine-reorg-optimizations.patch rename to toolchain/gcc/4.2.1/avr32_patches_break_x86/905-avr32-fix-folding-machine-reorg-optimizations.patch diff --git a/toolchain/gcc/4.2.1/906-avr32-use-rjmp-instead-of-got-when-jumping.patch b/toolchain/gcc/4.2.1/avr32_patches_break_x86/906-avr32-use-rjmp-instead-of-got-when-jumping.patch similarity index 100% rename from toolchain/gcc/4.2.1/906-avr32-use-rjmp-instead-of-got-when-jumping.patch rename to toolchain/gcc/4.2.1/avr32_patches_break_x86/906-avr32-use-rjmp-instead-of-got-when-jumping.patch diff --git a/toolchain/gcc/4.2.1/908-avr32-fix-invalid-assembler-code-on-64bit-hosts.patch b/toolchain/gcc/4.2.1/avr32_patches_break_x86/908-avr32-fix-invalid-assembler-code-on-64bit-hosts.patch similarity index 100% rename from toolchain/gcc/4.2.1/908-avr32-fix-invalid-assembler-code-on-64bit-hosts.patch rename to toolchain/gcc/4.2.1/avr32_patches_break_x86/908-avr32-fix-invalid-assembler-code-on-64bit-hosts.patch -- 2.30.2