Vector instructions in GCC 4.04

I am trying to write an optimized routine using 32 bit vector instructions on a v9 sparc. Using the inforamtion below I have been unable to convince gcc 3.4.6 or gcc 4.0.4 to emilt a vector fpadd instruction - it always just emits 2 32 bit add instructions. I can't find any known good sample code to start from so I presume I am doing something silly. Any help would be most appreciated.
6.54.14 SPARC VIS Built-in Functions
GCC supports SIMD operations on the SPARC using both the generic vector extensions (see Vector Extensions) as well as built-in functions for the SPARC Visual Instruction Set (VIS). When you use the -mvis switch, the VIS extension is exposed as the following built-in functions:
typedef int v2si __attribute__ ((vector_size (8)));
typedef short v4hi __attribute__ ((vector_size (8)));
typedef short v2hi __attribute__ ((vector_size (4)));
typedef char v8qi __attribute__ ((vector_size (8)));
typedef char v4qi __attribute__ ((vector_size (4)));
void * __builtin_vis_alignaddr (void *, long);
int64_t __builtin_vis_faligndatadi (int64_t, int64_t);
v2si __builtin_vis_faligndatav2si (v2si, v2si);
v4hi __builtin_vis_faligndatav4hi (v4si, v4si);
v8qi __builtin_vis_faligndatav8qi (v8qi, v8qi);
v4hi __builtin_vis_fexpand (v4qi);
v4hi __builtin_vis_fmul8x16 (v4qi, v4hi);
v4hi __builtin_vis_fmul8x16au (v4qi, v4hi);
v4hi __builtin_vis_fmul8x16al (v4qi, v4hi);
v4hi __builtin_vis_fmul8sux16 (v8qi, v4hi);
v4hi __builtin_vis_fmul8ulx16 (v8qi, v4hi);
v2si __builtin_vis_fmuld8sux16 (v4qi, v2hi);
v2si __builtin_vis_fmuld8ulx16 (v4qi, v2hi);
v4qi __builtin_vis_fpack16 (v4hi);
v8qi __builtin_vis_fpack32 (v2si, v2si);
v2hi __builtin_vis_fpackfix (v2si);
v8qi __builtin_vis_fpmerge (v4qi, v4qi);
int64_t __builtin_vis_pdist (v8qi, v8qi, int64_t);
6.49 Using vector instructions through built-in functions
On some targets, the instruction set contains SIMD vector instructions that operate on multiple values contained in one large register at the same time. For example, on the i386 the MMX, 3DNow! and SSE extensions can be used this way.
The first step in using these extensions is to provide the necessary data types. This should be done using an appropriate typedef:
typedef int v4si __attribute__ ((vector_size (16)));
The int type specifies the base type, while the attribute specifies the vector size for the variable, measured in bytes. For example, the declaration above causes the compiler to set the mode for the v4si type to be 16 bytes wide and divided into int sized units. For a 32-bit int this means a vector of 4 units of 4 bytes, and the corresponding mode of foo will be V4SI.
The vector_size attribute is only applicable to integral and float scalars, although arrays, pointers, and function return values are allowed in conjunction with this construct.
All the basic integer types can be used as base types, both as signed and as unsigned: char, short, int, long, long long. In addition, float and double can be used to build floating-point vector types.
Specifying a combination that is not valid for the current architecture will cause GCC to synthesize the instructions using a narrower mode. For example, if you specify a variable of type V4SI and your architecture does not allow for this specific SIMD type, GCC will produce code that uses 4 SIs.
The types defined in this manner can be used with a subset of normal C operations. Currently, GCC will allow using the following operators on these types: +, -, *, /, unary minus, ^, |, &, ~, %.
The operations behave like C++ valarrays. Addition is defined as the addition of the corresponding elements of the operands. For example, in the code below, each of the 4 elements in a will be added to the corresponding 4 elements in b and the resulting vector will be stored in c.
typedef int v4si __attribute__ ((vector_size (16)));
v4si a, b, c;
c = a + b;
Subtraction, multiplication, division, and the logical operations operate in a similar manner. Likewise, the result of using the unary minus or complement operators on a vector type is a vector whose elements are the negative or complemented values of the corresponding elements in the operand.
You can declare variables and use them in function calls and returns, as well as in assignments and some casts. You can specify a vector type as a return type for a function. Vector types can also be used as function arguments. It is possible to cast from one vector type to another, provided they are of the same size (in fact, you can also cast vectors to and from other datatypes of the same size).
You cannot operate between vectors of different lengths or different signedness without a cast.
A port that supports hardware vector operations, usually provides a set of built-in functions that can be used to operate on vectors. For example, a function to add two vectors and multiply the result by a third could look like this:
v4si f (v4si a, v4si b, v4si c)
v4si tmp = __builtin_addv4si (a, b);
return __builtin_mulv4si (tmp, c);
}

I am trying to write an optimized routine using 32 bit vector instructions on a v9 sparc. Using the inforamtion below I have been unable to convince gcc 3.4.6 or gcc 4.0.4 to emilt a vector fpadd instruction - it always just emits 2 32 bit add instructions. I can't find any known good sample code to start from so I presume I am doing something silly. Any help would be most appreciated.
6.54.14 SPARC VIS Built-in Functions
GCC supports SIMD operations on the SPARC using both the generic vector extensions (see Vector Extensions) as well as built-in functions for the SPARC Visual Instruction Set (VIS). When you use the -mvis switch, the VIS extension is exposed as the following built-in functions:
typedef int v2si __attribute__ ((vector_size (8)));
typedef short v4hi __attribute__ ((vector_size (8)));
typedef short v2hi __attribute__ ((vector_size (4)));
typedef char v8qi __attribute__ ((vector_size (8)));
typedef char v4qi __attribute__ ((vector_size (4)));
void * __builtin_vis_alignaddr (void *, long);
int64_t __builtin_vis_faligndatadi (int64_t, int64_t);
v2si __builtin_vis_faligndatav2si (v2si, v2si);
v4hi __builtin_vis_faligndatav4hi (v4si, v4si);
v8qi __builtin_vis_faligndatav8qi (v8qi, v8qi);
v4hi __builtin_vis_fexpand (v4qi);
v4hi __builtin_vis_fmul8x16 (v4qi, v4hi);
v4hi __builtin_vis_fmul8x16au (v4qi, v4hi);
v4hi __builtin_vis_fmul8x16al (v4qi, v4hi);
v4hi __builtin_vis_fmul8sux16 (v8qi, v4hi);
v4hi __builtin_vis_fmul8ulx16 (v8qi, v4hi);
v2si __builtin_vis_fmuld8sux16 (v4qi, v2hi);
v2si __builtin_vis_fmuld8ulx16 (v4qi, v2hi);
v4qi __builtin_vis_fpack16 (v4hi);
v8qi __builtin_vis_fpack32 (v2si, v2si);
v2hi __builtin_vis_fpackfix (v2si);
v8qi __builtin_vis_fpmerge (v4qi, v4qi);
int64_t __builtin_vis_pdist (v8qi, v8qi, int64_t);
6.49 Using vector instructions through built-in functions
On some targets, the instruction set contains SIMD vector instructions that operate on multiple values contained in one large register at the same time. For example, on the i386 the MMX, 3DNow! and SSE extensions can be used this way.
The first step in using these extensions is to provide the necessary data types. This should be done using an appropriate typedef:
typedef int v4si __attribute__ ((vector_size (16)));
The int type specifies the base type, while the attribute specifies the vector size for the variable, measured in bytes. For example, the declaration above causes the compiler to set the mode for the v4si type to be 16 bytes wide and divided into int sized units. For a 32-bit int this means a vector of 4 units of 4 bytes, and the corresponding mode of foo will be V4SI.
The vector_size attribute is only applicable to integral and float scalars, although arrays, pointers, and function return values are allowed in conjunction with this construct.
All the basic integer types can be used as base types, both as signed and as unsigned: char, short, int, long, long long. In addition, float and double can be used to build floating-point vector types.
Specifying a combination that is not valid for the current architecture will cause GCC to synthesize the instructions using a narrower mode. For example, if you specify a variable of type V4SI and your architecture does not allow for this specific SIMD type, GCC will produce code that uses 4 SIs.
The types defined in this manner can be used with a subset of normal C operations. Currently, GCC will allow using the following operators on these types: +, -, *, /, unary minus, ^, |, &, ~, %.
The operations behave like C++ valarrays. Addition is defined as the addition of the corresponding elements of the operands. For example, in the code below, each of the 4 elements in a will be added to the corresponding 4 elements in b and the resulting vector will be stored in c.
typedef int v4si __attribute__ ((vector_size (16)));
v4si a, b, c;
c = a + b;
Subtraction, multiplication, division, and the logical operations operate in a similar manner. Likewise, the result of using the unary minus or complement operators on a vector type is a vector whose elements are the negative or complemented values of the corresponding elements in the operand.
You can declare variables and use them in function calls and returns, as well as in assignments and some casts. You can specify a vector type as a return type for a function. Vector types can also be used as function arguments. It is possible to cast from one vector type to another, provided they are of the same size (in fact, you can also cast vectors to and from other datatypes of the same size).
You cannot operate between vectors of different lengths or different signedness without a cast.
A port that supports hardware vector operations, usually provides a set of built-in functions that can be used to operate on vectors. For example, a function to add two vectors and multiply the result by a third could look like this:
v4si f (v4si a, v4si b, v4si c)
v4si tmp = __builtin_addv4si (a, b);
return __builtin_mulv4si (tmp, c);
}

Similar Messages

  • Java concurrency in vectors

    I am developing a simple web crawler program and am trying to store the results in two parallel vectors.
    One function will update both vectors whilst the calling function will work its way through both. Eventually, they should both stop.
    The problem I have though is that when 's = (String) itLinks.next ();' is called in the valPagesfunction, I receive the following:
    java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)
    at java.util.AbstractList$Itr.next(AbstractList.java:420)
    at LS3Q4WebCrawler.valPages(LS3Q4WebCrawler.java:154)
    at LS3Q4WebCrawler.main(LS3Q4WebCrawler.java:445)
    Is anybody able to tell me where I am wrong and how I can fix the program? I would rather not use threads if possible.
    Many thanks
    Martin
    The code is below:
    // Martin O'Shea, MSc AIS, Web Crawler Page for Labsheet 3 of module World Wide Web
    // Technologies, Birkbeck College, University of London ID No 4939118511.
    // Question 4.
    // NOTE: All URL and file names in program LS3Q4CLWebCrawler.java are hardcoded and definitions of new
    // Java Exception types has been avoided intentionally.
    import java.io.*;
    import java.util.*;
    import java.net.*;
    import java.text.*;
    import javax.swing.text.*;
    import javax.swing.text.html.*;
    public class LS3Q4WebCrawler
        // Class instance variables.
        private Vector Instructions; // Records URLWithRobotsTxt's instructions.
        private Vector Pages; // Records pages as "parents".
        private Vector Links; // Records all "parent's" links as "children".
        private Vector PagesAlreadyVisited; // Records those pages already visited to avoid duplicate visits.
        private String URLRoot;
        private String URLWithRobotsTxt;
        private int PAGE_VAL_COUNT_ACHIEVED = 0;
        private final int PAGE_VAL_COUNT_NEEDED = 4; // Applies to all class instances as per following note.
        // NOTE: private final int pageValCount applies to all class instances and is set to four because.
        // i.     A page must be permitted by URLWithRobotsTxt.
        // ii.     A page's URL cannot be a relative address.
        // iii.     A page's URL must conform with URLRoot.
        // iv.     A page cannot be visited twice.
        public LS3Q4WebCrawler ()
        // Constructor.
            this.Instructions = new Vector ();
            this.Pages = new Vector ();
            this.Links = new Vector ();
            this.PagesAlreadyVisited = new Vector ();
              this.URLRoot = new String ("http://www.dcs.bbk.ac.uk/~kevin/webtech/");
            this.URLWithRobotsTxt = new String ("http://www.dcs.bbk.ac.uk/~kevin/webtech/robots.txt");
            this.PAGE_VAL_COUNT_ACHIEVED = 0;
        public LS3Q4WebCrawler (String s)
        // Overloaded constructor.
            this.Instructions = new Vector ();
            this.Pages = new Vector ();
            this.Links = new Vector ();
            this.PagesAlreadyVisited = new Vector ();
            this.URLRoot = new String (s);
            this.URLWithRobotsTxt = new String (s + "robots.txt");
            this.PAGE_VAL_COUNT_ACHIEVED = 0;
        public void validateCLParameters (String [] args)
        // Validates that there are no command line parameters.
            try
                if (args.length != 0)
                    throw new IllegalArgumentException ();
            catch (IllegalArgumentException e)
                System.err.println ("ERROR: " + e);
                System.exit (1);
        public void getRobotInstructions ()
        // Reads URLWithRobotsTxt and extracts instructions from it.
        // The following code is adapted from "http://www.computing.dcu.ie/~cpahl/teach/ca597/Material/FileCon.html".
            try
                String s = new String ();
                URL url = new URI (URLWithRobotsTxt).toURL();
                BufferedReader br = null;
                InputStream is = url.openStream();
                br = new BufferedReader (new InputStreamReader (is));
                while ((s = br.readLine ()) != null)
                    Instructions.addElement (new String (s));
            catch (MalformedURLException e)
                System.err.println ("ERROR: " + e);
                System.exit (1);
            catch (URISyntaxException e)
                System.err.println ("ERROR: " + e);
                System.exit (1);
            catch (IOException e)
                System.err.println ("ERROR: " + e);
                System.exit (1);
            // End of adaptation.
        public void displayRobotInstructions ()
        // Displays instructions from URLWithRobotsTxt on screen.
            System.out.println ("\n" + URLWithRobotsTxt + " contains the following instructions: " + "\n");
            String s = new String (" ");
            Iterator itInstructions = Instructions.iterator ();
            while (itInstructions.hasNext ())
                s = (String) itInstructions.next ();
                System.out.println (s);   
        public void valPages ()
        // Validates whether pages can be checked for links.
             String s = new String (" ");
             String t = new String (" ");
            // Root page.
                s = URLRoot;
                t = valPage (s);
            if (PAGE_VAL_COUNT_ACHIEVED == PAGE_VAL_COUNT_NEEDED) // Can root page be checked for links.
                   getPageLinks (t);     
            PAGE_VAL_COUNT_ACHIEVED = 0;
            // Non-root pages.
            Iterator itLinks = Links.iterator ();
            while (itLinks.hasNext ())
                 s = (String) itLinks.next ();
                 t = valPage (s);
                 if (PAGE_VAL_COUNT_ACHIEVED == PAGE_VAL_COUNT_NEEDED) // Can non-root page be checked for links.
                      getPageLinks (t);
                 PAGE_VAL_COUNT_ACHIEVED = 0;
         public String valPage (String page)
         // Validates whether a page should be searched or not.
              // A page must be permitted by URLWithRobotsTxt.
              if (permittedByRobotsTxt (page))
                   PAGE_VAL_COUNT_ACHIEVED ++;
              else
                   PAGE_VAL_COUNT_ACHIEVED --;
              // A page's URL cannot be a relative address.
             if (URLRoot.equals (page)) // Assumes that root page is not a relative URL.
                   PAGE_VAL_COUNT_ACHIEVED ++;     
              else
                   page = valFormatRelativeAddress (page); // Remove surplus leading characters.
                   if (hasPageRelativeAddress (page))
                        page = (URLRoot + page); // Amend page URL.     
                   PAGE_VAL_COUNT_ACHIEVED ++;
             // A page's URL must conform with URLRoot.
             if (hasPageRootAddress (page))
                   PAGE_VAL_COUNT_ACHIEVED ++;     
              else
                   PAGE_VAL_COUNT_ACHIEVED --;
              // A page cannot be visited twice.
              if (! hasPageBeenVisited (page))
                   PAGE_VAL_COUNT_ACHIEVED ++;          
              else
                   PAGE_VAL_COUNT_ACHIEVED --;
              return (page); // Formatted URL of page to be visited.
         public Boolean permittedByRobotsTxt (String page)
         // Is page permitted by URLWithRobotsTxt.
              Boolean found = false;
              String s = new String (" ");
            Iterator itInstructions = Instructions.iterator ();
            while (itInstructions.hasNext ())
                s = (String) itInstructions.next ();
                if (s.indexOf (page) >= 0) // Current page.
                          found = false; // Not permitted.
                else
                     found = true; // Permitted.     
                 if (found == false)
                      break;
            return (found);
         public Boolean hasPageRelativeAddress (String page)
         // Has page a relative address?
              if (page.indexOf (URLRoot) >= 0)
                   return (false);
              else
                   return (true);
         public String valFormatRelativeAddress (String page)
         // Removes surplus leading characters from relative address of a page.     
              int substringToChar = page.length ();
              int substringFromChar = 0;
              if (page.indexOf ("./") >= 0) // Allow first two characters.
                   substringFromChar = 2;
              else if (page.indexOf (".") == 0) // Allow first character.
                   substringFromChar = 1;
              else if (page.indexOf ("/") == 0) // Allow first character.
                   substringFromChar = 1;
              page = page.substring (substringFromChar, substringToChar);
              return (page);
         public Boolean hasPageRootAddress (String page)
         // Validates if page's URL conforms to the root address.
              if (page.indexOf (URLRoot) >= 0)    
                   return (true);
              else
                   return (false);
         public Boolean hasPageBeenVisited (String page)
            // Validates whether a page has been visited already.     
                 Boolean found = false;
                 String s = new String (" ");
            Iterator itPAV = PagesAlreadyVisited.iterator ();
            while (itPAV.hasNext ())
                 s = (String) itPAV.next ();
                 if (page.equals (s)) // Current page.
                          found = true; // Visited.
                else
                     found = false; // Not visited.
                 if (found == true)
                      break;
            return (found);
        public void getPageLinks (String page)
        // Validates a web page and extracts links from it.
            try
                URL url = new URI (page).toURL();
                URLConnection uc = url.openConnection ();
                Reader rd = new InputStreamReader (uc.getInputStream ());
                EditorKit ek = new HTMLEditorKit ();
                HTMLDocument doc = (HTMLDocument) ek.createDefaultDocument ();
                doc.putProperty("IgnoreCharsetDirective", Boolean.TRUE);
                ek.read (rd, doc, 0);
                HTMLDocument.Iterator it = doc.getIterator (HTML.Tag.A);
                while (it.isValid ())
                    SimpleAttributeSet sas = (SimpleAttributeSet) it.getAttributes ();
                    String link = (String) sas.getAttribute (HTML.Attribute.HREF);
                    if (link != null)
                        // Add page to vectors.
                        Pages.addElement (new String (page));
                        Links.addElement (new String (link));
                    it.next ();
                // Record that page has been visited.
                PagesAlreadyVisited.addElement (new String (page));
            catch (MalformedURLException e)
                System.err.println ("ERROR: " + e);
                System.exit (1);
            catch (URISyntaxException e)
                System.err.println ("ERROR: " + e);
                System.exit (1);
            catch (BadLocationException e)
                System.err.println ("ERROR: " + e);
                System.exit (1);
            catch (IOException e)
                System.err.println ("ERROR: " + e);
                System.exit (1);
            // End of adaptation.
        public void writeResults ()
        // Populates file "crawl.txt".
            try
                // No OuputStream object used for file "crawl.txt" because its location cannot
                // specifically be known.
                BufferedWriter bw = new BufferedWriter (new FileWriter ("crawl.txt"));
                bw.write ("The following pages and links were found: " + "\n\n");
                int i = 0;
                int j = 0;
                String currPage = new String (" ");
                String s = new String (" ");
                Iterator itPages = Pages.iterator ();
                while (itPages.hasNext ())
                    currPage = (String) itPages.next ();
                    if (! s.equals (currPage)) // Current page?
                        bw.write ("<Visited " + currPage + ">\n");
                        s = currPage;
                        i ++;
                    bw.write ("   <Link " + Links.elementAt (j) + ">\n");
                    j ++;
                bw.close ();
            catch (IOException e)
                System.err.println ("ERROR: " + e);
                System.exit (1);
        public static void main (String [] args)
        // Main program.
            LS3Q4WebCrawler w = new LS3Q4WebCrawler ();
            // Validate parameter entry from command line.
            w.validateCLParameters (args);
            // Get URLWithRobotsTxt instructions, display on screen.
            w.getRobotInstructions ();
            w.displayRobotInstructions ();
            // Validates pages and extracts links from them.
            w.valPages ();
            // Populate file "crawl.txt".
            w.writeResults ();
    }[                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    No I'm saying the behavior of an iterator is undefined if you are modifying the collection that the iterator came from. Even if the modification wouldn't invalidate the iterator (as is probably the case in your problem), they are often designed to "fail-fast" which means throw that exception as soon as they detect a modification.
    The queue on the other hand doesn't require an iterator, since you remove (dequeue) the first item each time. getPageLinks will work similarly, adding new pages to visit to the queue--it doesn't have to return a list. When the queue is empty, there are no more pages to visit (this is pretty much the general setup for breadth first search which is really what you're doing)
    If you still want to keep the list of Links, then I'm recommending adding them to the permanent list after they've been dequeued.

  • Cannot compile GCC in Solaris Express

    Hi everyone,
    Im trying to compile GCC and other GNU tools in Solaris. Im trying to do this to compile my driver for OpenChrome (video). I'm getting some errors, but I could not paste it because im using Linux right now.
    Anybody got an idea on how to install GCC correctly?
    Many thanks in advance.
    Gerard

    darkstar87 wrote:
    Hi everyone,
    Im trying to compile GCC and other GNU tools in Solaris. Im trying to do this to compile my driver for OpenChrome (video). I'm getting some errors, but I could not paste it because im using Linux right now.Without the errors, there's no way to suggest a remedy.
    Perhaps you have permission problems, or disk full, or you don't have a working compiler, or your path is wrong, or the download is corrupt, or...
    Anybody got an idea on how to install GCC correctly?If the version that comes with Solaris is not sufficient, there are packages that can be installed from sunfreeware or blastwave, or you can follow the INSTALL instructions from gcc.
    Darren

  • What is a vector?

    What is a vector?

    It's an abstraction.
    Imagine an instruction that says to "draw a line starting at location A in direction B, make it C long and curve it D".
    The actuality is a bit more complex / rich than this, but this is conceptually what it's about.  You can see how vector instructions could be scaled or moved easily using math on the variables A, B, C, D...
    -Noel

  • How to make Chionic with g++-3.3?

    Hi. I tried like that:
    # Contributor: Maciej Ciemborowicz <moonkey[at]op[dot]pl>
    pkgname=chionic
    pkgver=1.0.1
    pkgrel=1
    pkgdesc="advanced audio sampler for Linux"
    url="http://sourceforge.net/projects/cheesetronic"
    arch=('i686' 'x86_64')
    license=('GPL2')
    depends=('libsigcpp1.2')
    makedepends=('scons' 'python>=2.2')
    source=('http://downloads.sourceforge.net/cheesetronic/chionic-1.0.1.tar.gz')
    build() {
    cd "$srcdir/$pkgname-$pkgver"
    scons CXX="g++-3.3" || return 1
    scons install prefix=/usr || return 1
    scons -c || return 1
    But scons still use standard g++:
    bash-3.2# makepkg --asroot
    ==> Making package: chionic 1.0.1-1 x86_64 (pią, 13 mar 2009, 16:45:44 CET)
    ==> WARNING: Running makepkg as root...
    ==> Checking Runtime Dependencies...
    ==> Checking Buildtime Dependencies...
    ==> Retrieving Sources...
    -> Found chionic-1.0.1.tar.gz in build dir
    ==> WARNING: Integrity checks (md5) are missing or incomplete.
    ==> Extracting Sources...
    -> bsdtar -x -f chionic-1.0.1.tar.gz
    ==> Removing existing pkg/ directory...
    ==> Starting build()...
    scons: Reading SConscript files ...
    scons: warning: The Options class is deprecated; use the Variables class instead.
    File "/var/abs/local/chionic/src/chionic-1.0.1/SConstruct", line 41, in <module>
    detected /opt/qt/bin/moc
    scons: warning: The env.Copy() method is deprecated; use the env.Clone() method instead.
    File "/var/abs/local/chionic/src/chionic-1.0.1/common/plugins/effects/custom/SCsub", line 3, in <module>
    scons: done reading SConscript files.
    scons: Building targets ...
    g++ -o cheezator/engine/cz_bank.o -c -I/usr/lib/sigc++-1.2/include -I/usr/include/sigc++-1.2 -I/usr/include -DPOSIX_ENABLED -O3 -ffast-math -DLADSPA_ENABLED -DOSS_ENABLED -DJACK_ENABLED -DALSA_ENABLED -I/usr/include/alsa -DSNDFILE_ENABLED -Icommon/ -Icommon/defines/ -Icommon/ -Icommon/defines/ -Icommon/components/data -Icommon/components/data -I/opt/qt/include -DQT_NO_EMIT -Icommon/components/data -Icommon -I. -Icommon/defines cheezator/engine/cz_bank.cpp
    In file included from common/components/audio/lfo.h:36,
    from ./cheezator/engine/cz_patch.h:17,
    from cheezator/engine/cz_bank.h:15,
    from cheezator/engine/cz_bank.cpp:12:
    common/components/data/property_bridges.h:92: error: extra qualification 'Int_Property_Bridge::' on member 'copy_value'
    common/components/data/property_bridges.h:147: error: extra qualification 'Float_Property_Bridge::' on member 'copy_value'
    common/components/data/property_bridges.h:162: error: extra qualification 'Bool_Property_Bridge::' on member 'copy_value'
    common/components/data/property_bridges.h:180: error: extra qualification 'String_Property_Bridge::' on member 'copy_value'
    common/components/data/property_bridges.h:199: error: extra qualification 'Options_Property_Bridge::' on member 'copy_value'
    scons: *** [cheezator/engine/cz_bank.o] Error 1
    scons: building terminated because of errors.
    ==> ERROR: Build Failed.
    Aborting...
    bash-3.2#
    What am I doing wrong?

    Yeah, i tried it. But it still doesn't works.
    bash-3.2# makepkg
    ==> ERROR: Running makepkg as root is a BAD idea and can cause
    permanent, catastrophic damage to your system. If you
    wish to run as root, please use the --asroot option.
    bash-3.2# makepkg --asroot
    ==> Making package: chionic 1.0.1-1 x86_64 (sob, 14 mar 2009, 17:22:38 CET)
    ==> WARNING: Running makepkg as root...
    ==> Checking Runtime Dependencies...
    ==> Checking Buildtime Dependencies...
    ==> Retrieving Sources...
    -> Found chionic-1.0.1.tar.gz in build dir
    ==> WARNING: Integrity checks (md5) are missing or incomplete.
    ==> Extracting Sources...
    -> bsdtar -x -f chionic-1.0.1.tar.gz
    ==> Removing existing pkg/ directory...
    ==> Starting build()...
    Downloading patch...
    --2009-03-14 17:22:46-- http://gentoo-overlays.zugaina.org/pro-audio/portage/media-sound/chionic/files/gcc4.1-fix.patch
    Translacja gentoo-overlays.zugaina.org... 91.121.48.21, 2001:41d0:1:aed3::1
    Łączenie się z gentoo-overlays.zugaina.org|91.121.48.21|:80... połączono.
    Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK
    Długość: 1299 (1,3K) [text/plain]
    Zapis do: `gcc4.1-fix.patch.1'
    100%[===================================================================================>] 1.299 --.-K/s w 0,001s
    2009-03-14 17:22:47 (1,08 MB/s) - zapisano `gcc4.1-fix.patch.1' [1299/1299]
    Editing SConstruct...
    Patching: gcc4.1-fix.patch...
    patching file common/components/data/property_bridges.h
    patching file common/components/audio/resampler_manager.h
    patching file common/drivers/posix/sound_driver_jack.h
    scons: Reading SConscript files ...
    detected /opt/qt/bin/moc
    scons: warning: The env.Copy() method is deprecated; use the env.Clone() method instead.
    File "/var/abs/local/chionic/src/chionic-1.0.1/common/plugins/effects/custom/SCsub", line 3, in <module>
    scons: done reading SConscript files.
    scons: Building targets ...
    g++ -o cheezator/engine/cz_engine.o -c -I/usr/lib/sigc++-1.2/include -I/usr/include/sigc++-1.2 -I/usr/include -DPOSIX_ENABLED -O3 -ffast-math -DLADSPA_ENABLED -DOSS_ENABLED -DJACK_ENABLED -DALSA_ENABLED -I/usr/include/alsa -DSNDFILE_ENABLED -Icommon/ -Icommon/defines/ -Icommon/ -Icommon/defines/ -Icommon/components/data -Icommon/components/data -I/opt/qt/include -DQT_NO_EMIT -Icommon/components/data -Icommon -I. -Icommon/defines cheezator/engine/cz_engine.cpp
    In file included from common/components/midi/midi_event_handler.h:22,
    from common/components/midi/midi_engine.h:16,
    from cheezator/engine/cz_engine.h:15,
    from cheezator/engine/cz_engine.cpp:12:
    common/defines/pvector.h:10: error: declaration of 'std::vector<T*, std::allocator<T*> > VectorPointer<T>::vector'
    /usr/lib/gcc/x86_64-unknown-linux-gnu/4.3.3/../../../../include/c++/4.3.3/bits/stl_vector.h:176: error: changes meaning of 'vector' from 'class std::vector<T*, std::allocator<T*> >'
    scons: *** [cheezator/engine/cz_engine.o] Error 1
    scons: building terminated because of errors.
    ==> ERROR: Build Failed.
    Aborting...
    bash-3.2#
    Here is the same problem: http://aur.archlinux.org/packages.php?ID=2743 .

  • Why is text2d and text3d so slow?

    Recently i started timing operations in a game I am writting to find out where the bottlenecks were. Most of the delays I found made sense but I was suprised to find that writting text (2d or 3d) to the screen took an unacceptably large amout of time, even compared to drawing dxf models that were a few MB large each...
    The solution I thought of was to save letters and numbers as images and just arrange them on the screen as I needed to, but this seems like a clumsy way to get around the problem. Can anyone tell me why this is or how to overcome it?
    Jonathan O'Brien

    Text rendering is a very complex process. You're thinking it should be fast because you're assuming the use of bitmap fonts. Instead, most fonts of a type called "TrueType" which is a set of vector instructions that explain how the font should be drawn. By following these instructions, the font renderer is able to smoothly render the text as large or as a small as it wants, and even use antialiasing to make the corners as smooth as possible. All of this work for nice looking fonts comes at a price however. That's why games usually create their own bitmap fonts ahead of time. As a bonus, games can use "cool" looking fonts that look futuristic, prehistoric, or created by animals.

  • Camera Raw 8.7 Beta: black arrow cursor instead of regular white one used

    Bug report: in Camera Raw 8.7 Beta, a black arrow cursor gets used instead of the regular white one.

    Actually, I don't think it's a bug. I reported something similar here, and I was told that it was a new feature, reported in the ACR CC changelog:
    8.7 beta
    Quote:
    Windows HiDPI support:
    When Photoshop CC 2014's option to scale the UI 200% is enabled (Edit > Preferences > Experimental Features), the Camera Raw dialog will also be scaled. Known issues:
    Sometimes the Camera Raw dialog will not scale after the initial Photoshop relaunch to enable the feature. The workaround would be to re-launch Photoshop.
    Some UI flashing/redrawing during interactive operations such as dragging a local adjustment gradient or toggling fullscreen mode.
    Win HiDPI support currently does not work when ACR is hosted within Bridge CC.
    Improve performance on processors with AVX/AVX2 vector instruction support (Intel Sandy Bridge (2011) processors and later; AMD Bulldozer (2011) processors and later).

  • Cannot install Date::Calc perl module

    I'm running Solaris 11 on my machine and I need to install the Date::Calc perl module in order for one of my scripts to work.
    When I run the following command:
    sudo perl -MCPAN -e 'install Date::Calc'
    I get the following error:
    Tests succeeded but one dependency not OK (Bit::Vector)
    STBEY/Date-Calc-6.3.tar.gz
    [dependencies] -- NA
    Running make install
    make test had returned bad status, won't install without force
    When trying to install Bit::Vector first, i.e. when running the following command:
    sudo perl -MCPAN -e 'install Bit::Vector'
    i get the following error message:
    Checking if your kit is complete...
    Looks good
    Writing Makefile for Bit::Vector
    Writing patchlevel.h for /usr/bin/perl (5.012003)
    cp lib/Bit/Vector/Overload.pm blib/lib/Bit/Vector/Overload.pm
    cp Vector.pm blib/lib/Bit/Vector.pm
    cp Vector.pod blib/lib/Bit/Vector.pod
    cp lib/Bit/Vector/Overload.pod blib/lib/Bit/Vector/Overload.pod
    cp lib/Bit/Vector/String.pod blib/lib/Bit/Vector/String.pod
    cp lib/Bit/Vector/String.pm blib/lib/Bit/Vector/String.pm
    cc -c -DPTR_IS_LONG -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -xO4 -DVERSION=\"7.2\" -DXS_VERSION=\"7.2\" -KPIC "-I/usr/perl5/5.12/lib/i86pc-solaris-64int/CORE" BitVector.c
    sh: line 1: cc: not found
    *** Error code 127
    make: Fatal error: Command failed for target `BitVector.o'
    STBEY/Bit-Vector-7.2.tar.gz
    /usr/bin/make -- NOT OK
    'YAML' not installed, will not store persistent state
    Running make test
    Can't test without successful make
    Running make install
    Make had returned bad status, install seems impossible
    So it looks like the C compiler is missing. So I installed gcc via the following commands:
    pkg install gcc-45
    pkg install system/header
    but I still get the same error when trying to install Bit::Vector. Indeed, when I type cc on the command-line, I get the command not found error. When I type gcc, however, I get gcc: no input files.
    What should I do to fix this?
    Thanks for your advice,
    Dusan

    So I ran the following command:
    +/usr/perl5/5.8.4/bin/perlgcc -MCPAN -e 'install Bit::Vector'+
    but it did not work either. I got the following error output.
    CPAN.pm: Going to build S/ST/STBEY/Bit-Vector-7.2.tar.gz
    cp lib/Bit/Vector/Overload.pm blib/lib/Bit/Vector/Overload.pm
    cp Vector.pm blib/lib/Bit/Vector.pm
    cp Vector.pod blib/lib/Bit/Vector.pod
    cp lib/Bit/Vector/String.pod blib/lib/Bit/Vector/String.pod
    cp lib/Bit/Vector/Overload.pod blib/lib/Bit/Vector/Overload.pod
    cp lib/Bit/Vector/String.pm blib/lib/Bit/Vector/String.pm
    gcc -c    -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TS_ERRNO -xO3 -xspace -xildoff    -DVERSION=\"7.2\"  -DXS_VERSION=\"7.2\" -KPIC "-I/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE"   BitVector.c
    gcc: unrecognized option '-KPIC'
    gcc: language ildoff not recognized
    gcc: language ildoff not recognized
    gcc: BitVector.c: linker input file unused because linking not done
    +/usr/perl5/5.8.4/bin/perl /usr/perl5/5.8.4/lib/ExtUtils/xsubpp -typemap /usr/perl5/5.8.4/lib/ExtUtils/typemap -typemap typemap Vector.xs > Vector.xsc && mv Vector.xsc Vector.c+
    gcc -c    -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TS_ERRNO -xO3 -xspace -xildoff    -DVERSION=\"7.2\"  -DXS_VERSION=\"7.2\" -KPIC "-I/usr/perl5/5.8.4/lib/i86pc-solaris-64int/CORE"   Vector.c
    gcc: unrecognized option '-KPIC'
    gcc: language ildoff not recognized
    gcc: language ildoff not recognized
    gcc: Vector.c: linker input file unused because linking not done
    Running Mkbootstrap for Bit::Vector ()
    chmod 644 Vector.bs
    rm -f blib/arch/auto/Bit/Vector/Vector.so
    LD_RUN_PATH="" gcc  -G BitVector.o  Vector.o  -o blib/arch/auto/Bit/Vector/Vector.so
    gcc: BitVector.o: No such file or directory
    gcc: Vector.o: No such file or directory
    gcc: no input files
    *** Error code 1
    make: Fatal error: Command failed for target `blib/arch/auto/Bit/Vector/Vector.so'
    +/usr/bin/make -- NOT OK+
    Running make test
    Can't test without successful make
    Running make install
    make had returned bad status, install seems impossible

  • Good instructions for making a GCC cross compiler?

    Hi
    I think this might be the best place to ask this since people probably have been making cross compilers. I am interested in trying to make a cross compiler of GCC targetting Plan9/i386. There is an old 3.0 version of GCC (http://cm.bell-labs.com/sources/extra/gcc/) ported to Plan9.
    The thing that confuses me a bit about cross compilers is the use of binutils for the target architecture. How does that actually work? The host OS/architecture would not be able to execute those binaries. It feels a bit like a chicken-and-egg issure and I am not really sure how to get started. I have been trying to read up a bit on the PKGBUILDs for cross-arm but the whole theoretical issue of how to actually get the thing working in the first place is still a bit unclear to me.
    Some good instructions/links/help would be appreciated
    I could post my temporary PKGBUILD here if people want to help out with the actual build...

    A small update to my attempts:
    This is my binutils package, it has failed at multiple levels during my attempts. The binutils ported to Plan9 are relatively old so some stuff needs to be patched up to build. Now it fails on not being able to recognize arlex.o . This seems a bit odd I think.
    # Adapted from cross-arm-elf, cross-i686-pc-gnu and cross-i686-pc-mingw32
    pkgname=cross-i386-plan9-binutils
    pkgver=2.11.2
    pkgrel=1
    pkgdesc="The GNU Compiler Collection - Cross compiler for Plan9 i386 target"
    arch=('i686' 'x86_64')
    license=('GPL')
    url="http://plan9.bell-labs.com/wiki/plan9/porting_alien_software_to_plan_9/index.html"
    depends=('glibc' 'zlib')
    options=('!libtool' '!distcc' '!ccache')
    source=('http://plan9.bell-labs.com/sources/extra/gcc/gnusrc.tgz' \
    'bucommh.patch')
    md5sums=('39d23b7223b68de4cf333205257112ce' \
    '2945c4e40dbcd966217ed1349195e312')
    _target=i386-lucent-plan9
    _sysroot=/usr/lib/cross-${_target}
    build() {
    rm -rf ${srcdir}/build
    mkdir ${srcdir}/build #starting fresh
    msg "building and packaging binutils"
    cp -ar ${srcdir}/binutils-2.11.2/* ${srcdir}/build/
    cd ${srcdir}/build
    msg "cheating broken references to Plan9-ported GNU binutils"
    ln -s /usr/bin/ar "${_target}-ar"
    ln -s /usr/bin/as "${_target}-as"
    ln -s /usr/bin/ld "${_target}-ld"
    ln -s /usr/bin/ranlib "${_target}-ranlib"
    PATH=${srcdir}/build:$PATH
    CFLAGS='-O2 -static'
    msg "patching up stuff"
    cd ${srcdir}/build/binutils
    patch bucomm.h -i $srcdir/bucommh.patch
    msg "going back to build directory and start configure"
    cd ${srcdir}/build
    ./configure --prefix=${_sysroot} --bindir=/usr/bin \
    --with-sysroot=${_sysroot} \
    --build=$CHOST --host=$CHOST --target=${_target} \
    --with-gcc --with-gnu-as --with-gnu-ld \
    --enable-shared --without-included-gettext \
    --disable-nls --disable-debug
    msg "fixing some corrupt libraries"
    cp /usr/lib/libiberty.a ${srcdir}/build/libiberty/
    msg "finally making the actual binutils"
    cd ${srcdir}/build
    make
    make DESTDIR=$pkgdir/ install
    # clean-up cross compiler root
    rm -r ${pkgdir}/${_sysroot}/share/{info,man}
    # needed for gcc build
    install -dm755 ${pkgdir}/${_sysroot}/include
    this is the bucommh.patch:
    81c81
    < extern char *sbrk ();
    > extern void *sbrk ();
    Last edited by W.F.Cody (2011-09-13 18:57:17)

  • Avr-gcc-4.8.0-1 compiles trash

    Hello everybody!
    After upgrade from avr-gcc-4.7.2 to avr-gcc-4.8.0-1 my avr project stopped work correctly.
    I wrote a small test to show you this issue.
    CPU is atmega8.
    This code flashes a LED connected to pin PD4.
    #include <avr/io.h>
    #include <util/delay.h>
    int main(void)
      DDRD |= 1 << PD4;
      while(1)
        PORTD ^= 1 << PD4;
        _delay_ms(250);
    After compiling the program by avr-gcc-4.7.2 LED is flashing, the code is ok.
    Disassembling list;
    0:  c0 12   rjmp  .+36  ; 0x26
    2:  c0 19   rjmp  .+50  ; 0x36
    4:  c0 18   rjmp  .+48  ; 0x36
    6:  c0 17   rjmp  .+46  ; 0x36
    8:  c0 16   rjmp  .+44  ; 0x36
    a:  c0 15   rjmp  .+42  ; 0x36
    c:  c0 14   rjmp  .+40  ; 0x36
    e:  c0 13   rjmp  .+38  ; 0x36
    10: c0 12   rjmp  .+36  ; 0x36
    12: c0 11   rjmp  .+34  ; 0x36
    14: c0 10   rjmp  .+32  ; 0x36
    16: c0 0f   rjmp  .+30  ; 0x36
    18: c0 0e   rjmp  .+28  ; 0x36
    1a: c0 0d   rjmp  .+26  ; 0x36
    1c: c0 0c   rjmp  .+24  ; 0x36
    1e: c0 0b   rjmp  .+22  ; 0x36
    20: c0 0a   rjmp  .+20  ; 0x36
    22: c0 09   rjmp  .+18  ; 0x36
    24: c0 08   rjmp  .+16  ; 0x36
    26: 24 11   eor   R1,  R1
    28: be 1f   out   $3f, R1
    2a: e5 cf   ldi   R28, 0x5f
    2c: e0 d4   ldi   R29, 0x04
    2e: bf de   out   $3e, R29
    30: bf cd   out   $3d, R28
    32: d0 02   rcall .+4   ; 0x38
    34: c0 10   rjmp  .+32  ; 0x56
    36: cf e4   rjmp  .-56  ; 0x0
    38: 9a 8c   sbi   $11, 4
    3a: e1 90   ldi   R25, 0x10
    3c: b3 82   in    R24, 0x12
    3e: 27 89   eor   R24, R25
    40: bb 82   out   $12, R24
    42: ef 2f   ser   R18
    44: e9 3f   ldi   R19, 0x9f
    46: e0 85   ldi   R24, 0x05
    48: 50 21   subi  R18, 0x01
    4a: 40 30   sbci  R19, 0x00
    4c: 40 80   sbci  R24, 0x00
    4e: f7 e1   brne  .-8   ; 0x48
    50: c0 00   rjmp  .+0   ; 0x52
    52: 00 00   nop
    54: cf f3   rjmp  .-26  ; 0x3c
    56: 94 f8   cli
    58: cf ff   rjmp  .-2   ; 0x58
    After compiling the program by avr-gcc-4.8.0-1 LED is not flashing and disassembled code is partially messed.
    Disassembling list;
    0:  00 04   .dw    0x0004
    2:  00 00   nop
    4:  00 14   .dw    0x0014
    6:  00 00   nop
    8:  00 03   .dw    0x0003
    a:  00 00   nop
    c:  4e 47   sbci   R20, 0xe7
    e:  00 55   .dw    0x0055
    10: d6 50   rcall .+3232  ; 0xcb2
    12: d2 01   rcall .+1026  ; 0x416
    14: 3c 1a   cpi   R17, 0xca
    16: 31 14   cpi   R17, 0x14
    18: f5 d2   brpl  .+116   ; 0x8e
    1a: 6a 35   ori   R19, 0xa5
    1c: 11 4f   cpse  R20, R15
    1e: b6 9c   in    R9, 0x3c
    20: 41 a5   sbci  R26, 0x15
    22: f7 07   brid  .-64    ; 0xffffffe4
    24: c0 12   rjmp  .+36    ; 0x4a
    26: c0 19   rjmp  .+50    ; 0x5a
    28: c0 18   rjmp  .+48    ; 0x5a
    2a: c0 17   rjmp  .+46    ; 0x5a
    2c: c0 16   rjmp  .+44    ; 0x5a
    2e: c0 15   rjmp  .+42    ; 0x5a
    30: c0 14   rjmp  .+40    ; 0x5a
    32: c0 13   rjmp  .+38    ; 0x5a
    34: c0 12   rjmp  .+36    ; 0x5a
    36: c0 11   rjmp  .+34    ; 0x5a
    38: c0 10   rjmp  .+32    ; 0x5a
    3a: c0 0f   rjmp  .+30    ; 0x5a
    3c: c0 0e   rjmp  .+28    ; 0x5a
    3e: c0 0d   rjmp  .+26    ; 0x5a
    40: c0 0c   rjmp  .+24    ; 0x5a
    42: c0 0b   rjmp  .+22    ; 0x5a
    44: c0 0a   rjmp  .+20    ; 0x5a
    46: c0 09   rjmp  .+18    ; 0x5a
    48: c0 08   rjmp  .+16    ; 0x5a
    4a: 24 11   eor   R1, R1
    4c: be 1f   out   $3f, R1
    4e: e5 cf   ldi   R28, 0x5f
    50: e0 d4   ldi   R29, 0x04
    52: bf de   out   $3e, R29
    54: bf cd   out   $3d, R28
    56: d0 02   rcall .+4     ; 0x5c
    58: c0 10   rjmp  .+32    ; 0x7a
    5a: cf e4   rjmp  .-56    ; 0x24
    5c: 9a 8c   sbi   $11, 4
    5e: e1 90   ldi   R25, 0x10
    60: b3 82   in    R24, 0x12
    62: 27 89   eor   R24, R25
    64: bb 82   out   $12, R24
    66: ef 2f   ser   R18
    68: e9 3f   ldi   R19, 0x9f
    6a: e0 85   ldi   R24, 0x05
    6c: 50 21   subi  R18, 0x01
    6e: 40 30   sbci  R19, 0x00
    70: 40 80   sbci  R24, 0x00
    72: f7 e1   brne  .-8     ; 0x6c
    74: c0 00   rjmp  .+0     ; 0x76
    76: 00 00   nop
    78: cf f3   rjmp  .-26    ; 0x60
    7a: 94 f8   cli
    7c: cf ff   rjmp  .-2     ; 0x7c
    Should I write a bug report?

    I ran into this exact problem a couple weeks ago; I made my own package so I could use avr-gcc 4.8 before the official release was out. Took me a few days of banging my head against the wall to realize that it was the compiler's fault. That'll teach me to use prerelease software!
    If you run 'avr-objdump -h' (or 'readelf -S') on the elf file that avr-gcc 4.8 produces, you'll see this:
    Section Headers:
    Sections:
    Idx Name Size VMA LMA File off Algn
    0 .note.gnu.build-id 00000024 00000000 00000000 000000b4 2**2
    CONTENTS, ALLOC, LOAD, READONLY, DATA
    1 .data 00000072 00800100 000018f0 000019a4 2**0
    CONTENTS, ALLOC, LOAD, DATA
    2 .text 000018cc 00000024 00000024 000000d8 2**1
    CONTENTS, ALLOC, LOAD, READONLY, CODE
    3 .bss 00000035 00800172 00800172 00001a16 2**0
    ALLOC
    4 .stab 000044ac 00000000 00000000 00001a18 2**2
    CONTENTS, READONLY, DEBUGGING
    5 .stabstr 000014c6 00000000 00000000 00005ec4 2**0
    CONTENTS, READONLY, DEBUGGING
    6 .comment 00000011 00000000 00000000 0000738a 2**0
    CONTENTS, READONLY
    7 .debug_aranges 00000028 00000000 00000000 0000739b 2**0
    CONTENTS, READONLY, DEBUGGING
    8 .debug_info 00003185 00000000 00000000 000073c3 2**0
    CONTENTS, READONLY, DEBUGGING
    9 .debug_abbrev 0000048b 00000000 00000000 0000a548 2**0
    CONTENTS, READONLY, DEBUGGING
    10 .debug_line 00000704 00000000 00000000 0000a9d3 2**0
    CONTENTS, READONLY, DEBUGGING
    11 .debug_frame 00000420 00000000 00000000 0000b0d8 2**2
    CONTENTS, READONLY, DEBUGGING
    12 .debug_str 00000943 00000000 00000000 0000b4f8 2**0
    CONTENTS, READONLY, DEBUGGING
    13 .debug_loc 00001439 00000000 00000000 0000be3b 2**0
    CONTENTS, READONLY, DEBUGGING
    14 .debug_ranges 000001f0 00000000 00000000 0000d274 2**0
    CONTENTS, READONLY, DEBUGGING
    You can see that there's a section, '.note.gnu.build-id', which isn't produced by avr-gcc 4.7. From what I can tell, it's extra metadata that identifies the 'build' of the program by the time and date at which it occured, the compiler version used, etc. This is presumably useful on PC platforms and it gets loaded into memory.
    For some reason, presumably because the AVR linker scripts in binutils haven't been updated to be compatible with gcc 4.8, this extra metadata section is allocated at address zero: that is, it's located where the interrupt vector table should be, and the vector table is pushed forward! So the reset vector, which gets executed when the microcontroller starts, immediately executes a bunch of junk instructions! Not only that, you can't just cut out the '.note.gnu.build-id' section with avr-strip or avr-objcopy because all of the addresses in the code will then be off by 0x24!
    I've tried to mess with the linker scripts (/usr/lib/ldscripts/avr*.x*) to omit the section, but my experience with linker scripts is limited, so I haven't been successful. For now, I'm sticking to 4.7.2.
    You know, I should probably file a bug report.

  • How to sort a object vector by its integer item ?

    hi everybody,
    [there were few topics on this in the forum, but nothing could solve my problem yet. so, please instruct me]
    I have to sort a vector which contains objects, where each object represents, different data types of values,
    ex: {obj1, obj2, obj3, ....}
    obj1---->{String name, int ID, String[] departments}
    i have to sort this vector at three times, once by name, then by ID and then by departments.
    Leaving name and department , first i want to sort the ID of each object and then re-arrange the order of objects in the array according to new order.
    what i did was, copied the vector all objects' ID values to an integer array then i sorted it using selection sort. but now i want to re-arrange the vector, but i still can't. please guide.
    here is the sort i did, and the
    int[] ID = new int[mintomaxID.size()];
              for(int i=0;i<mintomaxID.size();i++)
                   ObjectStore_initialData obj_id = (ObjectStore_initialData)mintomaxID.elementAt(i);
                   ID[i] = obj_id.getID();
              System.out.println("Before sorting array");
              for(int i=0;i<ID.length;i++)
                   System.out.println(ID);     
              System.out.println();
              int i, j, m, mi;
    for (i = 0; i < ID.length - 1; i++) {
    /* find the minimum */
    mi = i;
    for (j = i+1; j < ID.length; j++) {
    if (ID[j] < ID[mi]) {
    mi = j;
    m = ID[mi];
    /* move elements to the right */
    for (j = mi; j > i; j--) {
    ID[j] = ID[j-1];
    ID[i] = m;
    System.out.println("After sorting array");
    for(int y=0;y<ID.length;y++)
                   System.out.println(ID[y]);     
    //*****here is where i need to re-arrange the entire vector by ID.
    I do understand this is some sort of database sort type of a question. but there's no database. it's simply i just want to sort the vector.
    Thank you.

    hi camickr,
    thank you for the detailed reply. but i still don't understand somethings. i tried to read the API and look for the collections.
    i have ObjectStore_initialData class (similar to person class), so do i still have to do a comparable class out of this class ? please simplify that.
    public class ObjectStore_initialData
         String NAME;
         int ID;
         String[] DPART;     
         public ObjectStore_initialData(String name, int id, String[] departments)
              NAME=name;
              ID=id;
              DPART = departments;
    public String getName()//----
              return NAME;
    public String getID()//----
              return ID;
    public String getDpart()//----
              return DPART;
    /*next class is the interface to collect the values from the user and put all of them at once in a vector*/
    //this class is to sort the vector by ID
    public class sorter
       public sorter()
       public static void sortbyID(Vector mintomaxID)
             int[] ID = new int[mintomaxID.size()];
              for(int i=0;i<mintomaxID.size();i++)
                   ObjectStore_initialData obj_id = (ObjectStore_initialData)mintomaxID.elementAt(i);
                   ID[i] = obj_id.getID();
              System.out.println("Before sorting array");
              for(int i=0;i<ID.length;i++)
                   System.out.println(ID);     
              System.out.println();
              int i, j, m, mi;
    for (i = 0; i >< ID.length - 1; i++) {
    /* find the minimum */
    mi = i;
    for (j = i+1; j < ID.length; j++) {
    if (ID[j] < ID[mi]) {
    mi = j;
    m = ID[mi];
    /* move elements to the right */
    for (j = mi; j > i; j--) {
    ID[j] = ID[j-1];
    ID[i] = m;
    System.out.println("After sorting array");
    for(int y=0;y<ID.length;y++)
                   System.out.println(ID[y]);     
    //*****here is where i need to re-arrange the entire vector by ID.
    /*new comparable class */
    public class ObjectStore_initialData implements Comparable
         String NAME;
         int ID;
         String[] DPART;     
         public ObjectStore_initialData(String name, int id, String[] departments)
              NAME=name;
              ID=id;
              DPART = departments;
    public String getName()//----
              return NAME;
    public String getID()//----
              return ID;
    public String getDpart()//----
              return DPART;
    static class IDComparator implements Comparator
              public int compare(Object o1, Object o2)
                   ObjectStore_initialData p1 = (ObjectStore_initialData )o1;
                   ObjectStore_initialData p2 = (ObjectStore_initialData )o2;
                   return p1.getID() - p2.getID();
    /*how can i put the vector here to sort? */
    public sorter()
    public static void sortbyID(Vector mintomaxID)
    int[] ID = new int[mintomaxID.size()];
              for(int i=0;i<mintomaxID.size();i++)
                   ObjectStore_initialData obj_id = (ObjectStore_initialData)mintomaxID.elementAt(i);
                   ID[i] = obj_id.getID();
              System.out.println("Before sorting array");
              for(int i=0;i<ID.length;i++)
                   System.out.println(ID[i]);     
              System.out.println();
              int i, j, m, mi;
    for (i = 0; i >< ID.length - 1; i++) {
    /* find the minimum */
    mi = i;
    for (j = i+1; j < ID.length; j++) {
    if (ID[j] < ID[mi]) {
    mi = j;
    m = ID[mi];
    /* move elements to the right */
    for (j = mi; j > i; j--) {
    ID[j] = ID[j-1];
    ID[i] = m;
    System.out.println("After sorting array");
    for(int y=0;y<ID.length;y++)
                   System.out.println(ID[y]);     
    /* using collections to sort*/
    Collections.sort(mintomaxID, new IDComparator());
    and to check the new order i wanted to print the vector to command line.
    still it doesn't do anything.
    the url you mentioned is good as i see. but how can i implement that in my class ? please instruct and simplify. i know i just repeated the code, i didn't understand to do a comparable class in collections for this class. Please explain where i'm head to and where's my misleading point here.
    Thank you.
    Message was edited by:
    ArchiEnger.711

  • Plans for gcc 4.0.0?

    Just wondering what Archlinux plans are for gcc 4.0.0, now that it's released.  It seems rather interesting the new features for optimizing, which seems to be right up arch's alley.  An i686-optimized linux distribution, after all, would benefit from better optimizations.
    I'm just hoping that not too much is broken with this new release (everyone remembers gcc 2.95 -> 3), but since this release came much faster and isn't an almost complete rewrite like egcs was, hopefully we can expect a smoother transition.
    I for one am excited about this new gcc release, much more than a new kde, gnome or x.org or whatever...  Maybe it's just me that likes compilers so much and hates bytecode.  But still, what is Arch's stance on this?  Any plans to move forward?  Maybe provide a gcc 4 package but keep compiling arch packages with 3.x until bugs get ironed out?  Or be truly bleeding edge (it is stable software afterall though) and take the plunge and compile arch packages with this new fancy gcc?
    Autovectorization seems rather interesting ( http://gcc.gnu.org/projects/tree-ssa/vectorization.html there's the link for anyone interested), yet needs -msse or -msse2 flags to be set.  Is this feasible?  Would this binary nicely optimized for processors with sse or sse2 run that much worse on hardware without such instructions?
    What is arch's stance on instructions like sse or 3dnow?  Are packages compiled with such optimizations?  If so why or if not why not?  I personally think that most arch users use relatively recent hardware and would benefit...  But then again, I'm just wondering aloud.
    Anyways, sorry for all the questions...

    Duke wrote:What is arch's stance on instructions like sse or 3dnow?  Are packages compiled with such optimizations?  If so why or if not why not?  I personally think that most arch users use relatively recent hardware and would benefit...  But then again, I'm just wondering aloud.
    This has been discussed alot - my stance (not Arch's) is that Arch is i686 based - that's the common factor... if you start creeping with that, when will it stop? first we require SSE, then MMX, then SSE2... we may end up switching from "an i686 optimized distro" to "a distro optimized to run on AMD processors produced after November 12th 2004".
    In addition, SSE instructions only make sense in advanced math applications, FFT programs, and multimedia stuff... it's a small subset of the applications... think about it: how could something like vim benefit from loop vectorization? it really can't... sure you may get some things improved... but it's vim, you don't need to do 50 calculations in the time it takes to do 1 - it's not processor intensive.
    And let's look at the apps that do make use of SSE: multimedia - improve the performance of mpegs and mp3s? who watches that much porn?
    :shock:  :shock:
    FFT programs - anyone seriously doing complex FFT/DSP calcs on Arch? I doubt it
    Advanced Math - sure might make sense, but it doesn't warrant a recompile and optimization of the entire set of packages.
    So, in my opinion, enabling SSE/SSE2/MMX/MMX2/whatever else you get:
    - loss of some processor support
    + improvement in MP3 playback
    + faster calculation of PI
    - a bunch of apps you had to redownload with negligable performance gain

  • Problem to get glyph vector's shape

    Some Chinese fonts(TrueType) were created from embeded font files in a PDF file and glyph vectors were
    successfully generated. But when calling the glyph vector's getOutline() to get the shape of the vectors,
    the program crashed and got the following log. What's wrong with it?
    hs_err_pid3440.log
    ====================================================================
    # An unexpected error has been detected by Java Runtime Environment:
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d2d3bf9, pid=3440, tid=2680
    # Java VM: Java HotSpot(TM) Client VM (10.0-b22 mixed mode windows-x86)
    # Problematic frame:
    # C [fontmanager.dll+0x13bf9]
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    # The crash happened outside the Java Virtual Machine in native code.
    # See problematic frame for where to report the bug.
    T H R E A D
    Current thread (0x0afe2400): JavaThread "AWT-EventQueue-0" [_thread_in_native, id=2680, stack(0x0b790000,0x0b7e0000)]
    siginfo: ExceptionCode=0xc0000005, reading address 0x00000010
    Registers:
    EAX=0x00000000, EBX=0x00000000, ECX=0x0000000b, EDX=0x0af12a1c
    ESP=0x0b7dee98, EBP=0x0b7deeb0, ESI=0x0b0038a0, EDI=0x0b0038a0
    EIP=0x6d2d3bf9, EFLAGS=0x00010246
    Top of Stack: (sp=0x0b7dee98)
    0x0b7dee98: 00000000 0b0038a0 636d6170 0b0038a0
    0x0b7deea8: 6d2d3d33 0b27e728 0b7def20 6d2c3cec
    0x0b7deeb8: 0b0038a0 00000062 00000000 0b7def1c
    0x0b7deec8: 0b0038a0 0b27e728 00000001 002e04e0
    0x0b7deed8: 0b27eca0 0b266ba8 0000000d 002e04e0
    0x0b7deee8: 0af13958 002e0178 00000000 00000000
    0x0b7deef8: 0b5b0000 0af18048 00000000 0b5b0000
    0x0b7def08: 0af17000 00000628 002e0178 00000000
    Instructions: (pc=0x6d2d3bf9)
    0x6d2d3be9: 75 51 57 68 70 61 6d 63 56 e8 6f fd ff ff 6a 00
    0x6d2d3bf9: ff 70 10 ff 70 0c ff b6 88 00 00 00 ff b6 90 00
    Stack: [0x0b790000,0x0b7e0000], sp=0x0b7dee98, free space=315k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C [fontmanager.dll+0x13bf9]
    C [fontmanager.dll+0x3cec]
    C [fontmanager.dll+0x3da2]
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    J java.awt.LightweightDispatcher.retargetMouseEvent(Ljava/awt/Component;ILjava/awt/event/MouseEvent;)V
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    J java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::StubRoutines (1)
    P R O C E S S
    Java Threads: ( => current thread )
    0x0b07b400 JavaThread "TimerQueue" daemon [_thread_blocked, id=4040, stack(0x0cce0000,0x0cd30000)]
    0x002e5c00 JavaThread "DestroyJavaVM" [_thread_blocked, id=2628, stack(0x008c0000,0x00910000)]
    =>0x0afe2400 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=2680, stack(0x0b790000,0x0b7e0000)]
    0x0afe4400 JavaThread "AWT-Shutdown" [_thread_blocked, id=2384, stack(0x0b710000,0x0b760000)]
    0x0b12c800 JavaThread "AWT-Windows" daemon [_thread_in_native, id=3484, stack(0x0b600000,0x0b650000)]
    0x0b12a400 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=2804, stack(0x0b560000,0x0b5b0000)]
    0x0ab14000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=1068, stack(0x0ae60000,0x0aeb0000)]
    0x0ab08c00 JavaThread "CompilerThread0" daemon [_thread_blocked, id=4000, stack(0x0ae10000,0x0ae60000)]
    0x0aafd800 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=2800, stack(0x0adc0000,0x0ae10000)]
    0x0aafc400 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=2620, stack(0x0ad70000,0x0adc0000)]
    0x0aafa400 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_blocked, id=2380, stack(0x0ad20000,0x0ad70000)]
    0x0aaef800 JavaThread "Attach Listener" daemon [_thread_blocked, id=2796, stack(0x0aca0000,0x0acf0000)]
    0x0aaea800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=560, stack(0x0ac50000,0x0aca0000)]
    0x0aad9000 JavaThread "Finalizer" daemon [_thread_blocked, id=2604, stack(0x0ac00000,0x0ac50000)]
    0x0aad4c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=2280, stack(0x0abb0000,0x0ac00000)]
    Other Threads:
    0x0aad1c00 VMThread [stack: 0x0ab60000,0x0abb0000] [id=1340]
    0x0ab27400 WatcherThread [stack: 0x0aeb0000,0x0af00000] [id=2644]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    def new generation total 1344K, used 136K [0x029c0000, 0x02b30000, 0x02ea0000)
    eden space 1216K, 11% used [0x029c0000, 0x029e2010, 0x02af0000)
    from space 128K, 0% used [0x02af0000, 0x02af0000, 0x02b10000)
    to space 128K, 0% used [0x02b10000, 0x02b10000, 0x02b30000)
    tenured generation total 17020K, used 12841K [0x02ea0000, 0x03f3f000, 0x069c0000)
    the space 17020K, 75% used [0x02ea0000, 0x03b2a740, 0x03b2a800, 0x03f3f000)
    compacting perm gen total 17664K, used 17494K [0x069c0000, 0x07b00000, 0x0a9c0000)
    the space 17664K, 99% used [0x069c0000, 0x07ad5be0, 0x07ad5c00, 0x07b00000)
    No shared spaces configured.
    Dynamic libraries:
    0x00400000 - 0x00423000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\java.exe
    0x77f50000 - 0x77ff7000 C:\WINDOWS\System32\ntdll.dll
    0x77e40000 - 0x77f4e000 C:\WINDOWS\system32\kernel32.dll
    0x77da0000 - 0x77e3b000 C:\WINDOWS\system32\ADVAPI32.dll
    0x78000000 - 0x78086000 C:\WINDOWS\system32\RPCRT4.dll
    0x7c340000 - 0x7c396000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\msvcr71.dll
    0x6d870000 - 0x6dac0000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\client\jvm.dll
    0x77d10000 - 0x77d9c000 C:\WINDOWS\system32\USER32.dll
    0x77c40000 - 0x77c80000 C:\WINDOWS\system32\GDI32.dll
    0x76b10000 - 0x76b39000 C:\WINDOWS\System32\WINMM.dll
    0x76300000 - 0x7631c000 C:\WINDOWS\System32\IMM32.DLL
    0x62c20000 - 0x62c28000 C:\WINDOWS\System32\LPK.DLL
    0x72f10000 - 0x72f6a000 C:\WINDOWS\System32\USP10.dll
    0x6d320000 - 0x6d328000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\hpi.dll
    0x76bc0000 - 0x76bcb000 C:\WINDOWS\System32\PSAPI.DLL
    0x6d410000 - 0x6d439000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\jdwp.dll
    0x6d770000 - 0x6d776000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\npt.dll
    0x6d820000 - 0x6d82c000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\verify.dll
    0x6d3c0000 - 0x6d3df000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\java.dll
    0x6d860000 - 0x6d86f000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\zip.dll
    0x6d290000 - 0x6d297000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\dt_socket.dll
    0x71a20000 - 0x71a35000 C:\WINDOWS\System32\WS2_32.dll
    0x77be0000 - 0x77c33000 C:\WINDOWS\system32\msvcrt.dll
    0x71a10000 - 0x71a18000 C:\WINDOWS\System32\WS2HELP.dll
    0x719c0000 - 0x719fb000 C:\WINDOWS\System32\mswsock.dll
    0x76ef0000 - 0x76f15000 C:\WINDOWS\System32\DNSAPI.dll
    0x76d30000 - 0x76d46000 C:\WINDOWS\System32\iphlpapi.dll
    0x76f80000 - 0x76f87000 C:\WINDOWS\System32\winrnr.dll
    0x76f30000 - 0x76f5c000 C:\WINDOWS\system32\WLDAP32.dll
    0x76f90000 - 0x76f95000 C:\WINDOWS\System32\rasadhlp.dll
    0x71a00000 - 0x71a08000 C:\WINDOWS\System32\wshtcpip.dll
    0x6d0b0000 - 0x6d1de000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\awt.dll
    0x72f70000 - 0x72f93000 C:\WINDOWS\System32\WINSPOOL.DRV
    0x7cab0000 - 0x7cbd1000 C:\WINDOWS\system32\ole32.dll
    0x5adc0000 - 0x5adf3000 C:\WINDOWS\System32\uxtheme.dll
    0x51000000 - 0x5104d000 C:\WINDOWS\System32\ddraw.dll
    0x73b30000 - 0x73b36000 C:\WINDOWS\System32\DCIMAN32.dll
    0x74680000 - 0x746c4000 C:\WINDOWS\System32\MSCTF.dll
    0x0b6b0000 - 0x0b6db000 C:\WINDOWS\System32\msctfime.ime
    0x6d460000 - 0x6d484000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\jpeg.dll
    0x6d620000 - 0x6d633000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\net.dll
    0x0ffd0000 - 0x0fff3000 C:\WINDOWS\System32\rsaenh.dll
    0x759d0000 - 0x75a70000 C:\WINDOWS\system32\USERENV.dll
    0x71ba0000 - 0x71bee000 C:\WINDOWS\System32\netapi32.dll
    0x6d2c0000 - 0x6d313000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\fontmanager.dll
    0x773a0000 - 0x77b92000 C:\WINDOWS\system32\shell32.dll
    0x63180000 - 0x631e5000 C:\WINDOWS\system32\SHLWAPI.dll
    0x78090000 - 0x78174000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.10.0_x-ww_f7fb5805\comctl32.dll
    0x77310000 - 0x7739b000 C:\WINDOWS\system32\comctl32.dll
    0x6d640000 - 0x6d649000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\nio.dll
    0x74650000 - 0x74676000 C:\WINDOWS\System32\Msimtf.dll
    0x10000000 - 0x1001f000 C:\Program Files\Apoint\Apoint.DLL
    0x76320000 - 0x76363000 C:\WINDOWS\system32\comdlg32.dll
    0x77bd0000 - 0x77bd7000 C:\WINDOWS\system32\VERSION.dll
    0x0bb60000 - 0x0bb70000 C:\WINDOWS\System32\Vxdif.dll
    0x6d200000 - 0x6d22f000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\cmm.dll
    0x6d230000 - 0x6d253000 C:\Program Files\Java\jdk1.6.0_06\jre\bin\dcpr.dll
    VM Arguments:
    jvm_args: -Xdebug -Xrunjdwp:transport=dt_socket,address=localhost:1656
    java_command: client.Manager
    Launcher Type: SUN_STANDARD
    Environment Variables:
    PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel;;
    USERNAME=qing
    OS=Windows_NT
    PROCESSOR_IDENTIFIER=x86 Family 6 Model 9 Stepping 5, GenuineIntel
    S Y S T E M
    OS: Windows XP Build 2600 Service Pack 1
    CPU:total 1 (1 cores per cpu, 1 threads per core) family 6 model 9 stepping 5, cmov, cx8, fxsr, mmx, sse, sse2
    Memory: 4k page, physical 785392k(81692k free), swap 1921396k(1080464k free)
    vm_info: Java HotSpot(TM) Client VM (10.0-b22) for windows-x86 JRE (1.6.0_06-b02), built on Mar 25 2008 01:22:05 by "java_re" with MS VC++ 7.1
    time: Tue Jun 17 18:17:12 2008
    elapsed time: 202 seconds

    Hi,
    I solved my problem.
    In my rule 's container, i had declared my subtype (ZBUS0050) like in my task 's container and in my workflow 's container.
    ZGCA0050
    |----
    Attribute 1
    |----
    Attribute 2
    |........................
    But my FM couldn't access to the attributes...
    So, i just set Attribute 1(FundsCenter)  in my rule's container without subtype reference, and it's good.
    Thanks for your help.
    Regards.

  • Is it possible to display the content of complex mutlidimensional datastructures (e.g. std::vectors (dim = 2) of (non-primitive) types) in Xcode debugger?

    Hi,
    First, let me say that I like Xcode and coding in OS X. However, there is something I miss:
    Let me demonstrate what i mean:
    This is the representation of a 2D-Vector in Xcode Debugging environment:
    v          'std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >'          [{...}]
    0          'std::vector<int, std::allocator<int> >'          [{...}]
    1          'std::vector<int, std::allocator<int> >'          [{...}]
    2          'std::vector<int, std::allocator<int> >'          [{...}]
    3          'std::vector<int, std::allocator<int> >'          [{...}]
    4          'std::vector<int, std::allocator<int> >'          [{...}]
    5          'std::vector<int, std::allocator<int> >'          [{...}]
    6          'std::vector<int, std::allocator<int> >'          [{...}]
    7          'std::vector<int, std::allocator<int> >'          [{...}]
    8          'std::vector<int, std::allocator<int> >'          [{...}]
    So, the above representation is what I would call bad (even useless).
    The problem is that the current Linux Kernel (3.1.1) has some problems with the new MBA 2011 (which is really sad) so I can not show you the representation of a 2D-Vector in Qt-Creator for Linux right now (I'm not sure if the Qt-Creator for OS X could display the content properly, since I've never tried it). But you can believe me, that the represantation would look something like the one in Eclipse (which would be a good representation).
    So my question: is there a "fix" for this?

    What you want is a custom data formatter. I would give you some links, but my iPad wants to convert them into the documentation viewer.
    You aren't going to find much help with C++ debugging. While Apple's Clang has made great improvements in C++ support compared to GCC, C++ is really not something that Mac or iOS programmers typically use. The Cocoa containers and objects are so much more versatile. You kind of have to have a masochist streak and a 7 year development schedule to use C++. C++ is experiencing a bit of a resurgence, especially in defense markets. For a long time, compilers had such poor support for C++ that it just wasn't possible. After simplifying the language a little, compilers can now compile and link C++. Consultants have realized they can provide C++ services and burn though billable hours better than any other language on the market. Independent developer, however, don't have those schedules and budgets so they tend to use NSArray. Xcode supports it better in the debugg and, chances are, you don't need to debug it anyway. There are a number of matrix classes built on Cocoa.

  • How do I prevent the Darker Shade Box (color shift) around Vector Objects when Printing

    Sorry in advance for the novelette. I am absolutely mystified and frustrated and would love some help! I've been working on this problem for about 30 hours over the last 4 days to figure out what the heck is happening and cannot find an answer through various forms of research.
    Basically, when I print a JPEG, I am getting this area (a box) of darker shaded coloring around my heart and love text.  I've tested it a million different ways and am at a loss as to what the problem is ... is it an application problem, a color profile problem between my applications and printer, an improper way that I saved my file, etc.
    Here is a photo I took of the image printed out (so it is slightly skewed from camera distortion):
    The details:
    (1) I create graphic art and sell it online. I save all of my printable art as JPEG files because of my customer base (diy hobbyists that print on their home printers without much knowledge base nor graphic design software).
    (2) I use both Adobe Illustrator (AI) and Photoshop Elements 11 (PSE11) to design and save my artwork.
    (3) I insert JPEG images into Microsoft Word 2003 documents to "test print" since most of my customers use home printers to print. Since most people have this basic software, it is a good gauge of the kind of print out they might get using the same or similar software.
    (4) My PSE11 color profile setting is the default sRGB. I have test printed many times and I get the truest colors with this color profile.
    (5) My AI color settings are normally also an sRGB color mode, but on occasion, I use a CMYK color mode if I am creating a larger document that I know the customer will need to take to a professional printer to print out.
    (6) I do my home printing (for proofs) on an Epson Stylus Photo 1400 (which has the 6 color ink cartridges).
    (7) Until this printing problem occurred on this test print out, I always used the "photo enhance" option when I designate settings for my printer via the Microsoft Word documents.
    IMPORTANT: This is when I have the color shift?? or color rendering issues?? and it is the only time. If I use the regular ICM/ICC color profile of sRGB, the printing issue doesn't occur. Instead, I have a solid color background instead of this one with the strips of lighter color on the top and bottom.  However, I can't control how the customer prints, so I need to feel confident that whatever color profile setting they use, they will not run into this problem.  I even test printed the documents over at FedEx and the darker box/color shift did not occur.
    (8) The document in question only has 3 sets of objects: the heart, the solid colored rectangle colored background and the text.  All 3 objects are vectors, they are at 100% opacity and there are no "special effects" applied.
    (9) The image was entirely created in AI this time and exported as a maximum quality JPEG file, although you will see below that I tried many ways to create and save the file so that I didn't have the color band borders on top/bottom.
    (10) I regularly use AI for part of my art, then I drag it to my PSE11 open document and it becomes a Vector Object (it cannot by copying/pasting into a PSE11 document).  I also regularly export AI images as PNG files, then insert them into an open PSE11 document. This printing issue has not occurred until recently.  Here is an example of a very complex AI image I created, then inserted into PSE11 just to add the background (the Teddy Bear and books are AI vector objects) that were exported as PNG files then inserted into PSE11 to integrate with the background image - I test printed with Photo Enhance and had no printing issues:
    So, from the research I have done, it looks like it is a color rendering or color space issue with conflicting color profiles in the same document. I checked my color profile settings and both sRGB and CMYK were set to embed ICC color profiles.
    I tried changing AI settings to Preserve Numbers (ignore linked profiles) for CMYK, but that didn't work.
    I also checked and made sure that not only the document setup showed the sRGB color profile, but that all the objects within the document also were converted to sRGB as well for consistency. That didn't work.
    I tried converting the document to CMYK along with the vector objects. That didn't work.
    I tried saving the heart image as a PNG file alone, the "love" text as a PNG file alone, both the heart and text together as a PNG files alone. Once saved as PNG files, I inserted them into an open empty PSE11 document - as I normally do. I then added the background color I wanted. That didn't work - the print still showed the color changes.
    I tried dragging each vector object separately and even as a group and got the same color change issue when printing.
    I tried "expanding" and "outlining" the text before exporting as JPEG, before exporting as a PNG and before dragging as a vector object into PSE11. Expanding the text did not help the situation.
    I tried exporting as Adobe PDF, then opening in PSE11, then resaving as JPEG. That didn't work.
    I tried flattening transparency (even though there is no transparency in the AI file). That didn't work.
    I tried rasterizing the image. That didn't work.
    Thinking that the file might be corrupt, I started from scratch and redesigned the same heart and love text.  Unfortunately, I had the same problem as before.  At this point, my AI started becoming buggy and would not open new files. It happened repeatedly and I decided it was best to uninstall and reinstall AI (and maybe that would fix the problem).
    I created just the heart in AI, then inserted it into an open PSE11 document (both after exporting as PNG and also by dragging as Vector Object from AI). It seemed to work. I could both drag the vector into PSE11 from AI and export from AI as a PNG, then insert into open PSE11 document with a background color - and it printed a solid background.
    So, I thought that reinstalling and setting back to defaults worked. But, then I added the love text around the heart and tried exporting as JPEG files and the same problem continued to recur. Whether I dragged as a Vector object into PSE11 (the heart object and love text separately and also another time with the vector objects dragged as a group) or saved them as PNG files and inserted into PSE11 - I got the different shades of color on what should be a solid background. I even tried saving the PSE11 as a PSD file first, then resaving as JPEG and I tried saving as PNG and printing and this didn't help solve the problem.
    I really think it is some color conflict issue but I can't figure it out. I am definitely not very knowledgeable about color profiles and how to sync all my devices, however, as I mentioned, this was not an issue until recently (and I think??? I recall changing the CMYK setting from Preserve Numbers to embed color profile a month or so ago - however, it should have been solved when AI went back to its defaults upon reinstall).
    The reason I believe it is a color rendering/color space issue is because I could see the color output when I saved the JPEG with CMYK color profile versus sRGB color profile and the sRGB colors were much richer, not surprisingly. The top and bottom colors matched the sRGB printout and the middle darker box section matched the CMYK printout.
    I am sure it is something fundamental or simple and I am completely overlooking it.  I wish it were just a transparency issue, because people know how to fix or do workarounds for it. But, there are no vector objects with any transparency ...
    If I missed some detail, I apologize. Any help would be a dream come true at this point! lol
    Thank you!

    Okay, I got motivated to try again.  From doing a bit more research on troubleshooting AI printing problems, the Adobe article talks about print drivers. It was advised to uninstall and reinstall the print driver if the printing issue persists. So, I did. Unfortunately, I still had the same result after reinstalling and trying a test print! Ugh.
    So, as Jacob said upfront, I seem to have an overactive print driver that is trying too hard (and it is a non-postscript printer which I realize is part of the problem).
    There are so many variables in my situation as to how I create art and save/export art. I sometimes work solely in AI, sometimes solely in PSE and sometimes I use both programs to create. Consequently, I will:
    (1) export directly from AI as JPEG if I am not adding PSE11 artwork.
    (2) export directly from AI as PNG  if I plan on inserting that image into PSE11 to add to artwork I have created in PSE11.
    (3) drag vector objects as a Smart Objects directly from AI to PSE11 to add to artwork I am creating in PSE11 if I know I will playing with the vector object and resizing in PSE11.
    So, I did a test print using scenario 2, where I inserted the heart and love text PNG (AI created vector object) into an old PSE11 document. This old document already had a vector object from AI with a solid background and I knew it printed correctly. So, after inserting this new PNG from AI into this old document, it printed correctly using the photo enhance mode.
    However, I haven't had a chance to actually create new art in the older AI files (that I know print properly), resave as something else and try another test print (either by exporting as JPEG and printing in Word or by exporting as PNG file and inserting into PSE11 document, then saving as JPEG and printing in Word).
    After testing the different possibilities of ICM settings within my printer, I found that the JPEG images printed out with the truest colors and best quality if I simply selected "no color management" from the printer. Shocker, huh? lol
    MY SOLUTION: So, what I think I will simply do is add an instruction sheet with the printables I sell, explaining that the color profile setting should never be handled by the printer so make sure to turn off color management by printer (and if they feel they must use the printer for color management, make sure the setting is sRGB since I embed that color profile in my JPEG's).
    Edited to add: Since my issue was never about how I could print a successful image (I knew I could simply change the color profile settings), but rather about how to make sure that customers would get consistent and high quality print outputs of my digital images, this seems like the best approach.
    I don't think I will every really know exactly why I am now getting color shifts in the "photo enhance" mode when I did not have this problem a couple months ago - applying the same methods of creating artwork. I was concerned that I was saving/exporting using incorrect or mismatched color settings or something of that nature.  However, since I went through the process of making my color spaces the same for everything, and I still have issue, clearly that is not the culprit. The only thing I can do to solve the problem and it is a straightforward solution anyway -> is to educate the buyer on how to print successfully (don't use photo enhance! ha ha).
    Thanks again to everyone who chimed in and offered advice!

Maybe you are looking for

  • Not getting updating in a table....

    Hi friends, Currently i working on integration of apex with ebs R12.....And i have successfully integrated following the rod west document.... I created one DB application in my sample schema that is associated with apex 4.0..... Application details:

  • Back button in Photoshop's CS4 and CS5 Save as dialog is grayed

    Whenever I open several photos and save them after job is done I have to manually locate save folder. Photoshop always opens default folder where picture is originally located, and doesn't offer back button where I saved last photo. This is very frus

  • Problems with Scrollable Content : colored lines appear

    Hello, We have a book with several Scrollable Content (around a total of 200). The fact is that in many colored lines appear. These lines appear i disappear when changing article, anyone have any solution? THANKS

  • How to return a bool value from MyBrokerProcess

    To make MyPlugin work in Adobe Reader X in Protected Mode On, i have created a Broker Process(MyBrokerProcess.exe) Plugincode(C++)--->BrokerProcess(C#)---->Helper(C#) MyPlugin has 4 button, when i click on each button a Window(System.Window.Form) wil

  • Probleme with crystal report : a report with 3 levels

    hello... please am a from france, i have a bad english so is there somme one how speak frensh, i have a probleme with crystal report... so my first report, i have an XML file xith contine a lotof data, ils with a lot of level so i want that you show