compile a bounch of file
Hi Apologize in advanced for weak English and interrupt. I'm new in programming, I did some changes in a bounch of code and now I want to compile it but I have problem and I don't know. How can resolve the problem. some one said to me you must run the makefile :( I've got Simplescalar and I change some part of the cache.c, Now I want compile it and saw the changes I did. -- Best Esmaeil https://sites.google.com/site/esmaeilmirzaee
Re: compile a bounch of file
On 9 October 2011 11:06, esmaeil mirzaee wrote: > Hi > Apologize in advanced for weak English and interrupt. > I'm new in programming, I did some changes in a bounch of code and now > I want to compile it but I have problem and I don't know. How can > resolve the problem. some one said to me you must run the makefile > :( > > I've got Simplescalar and I change some part of the cache.c, Now I > want compile it and saw the changes I did. This email is inappropriate for this list, questions about using gcc should be sent to the gcc-h...@gcc.gnu.org mailing list instead. See http://gcc.gnu.org/lists.html It sounds as though you want to run "make"
mno-eabi option on powerpc-elf
Hello All, I am working with powerpc-elf tool chain v4.5.2 (with newlib). I need some clarification regarding the -mno-eabi option. From the GCC docs, this option means that the tool chain does not adhere to EABI. -mno-eabi: On System V.4 and embedded PowerPC systems do not adhere to the Embedded Applications Binary Interface (eabi) which is a set of modifications to the System V.4 specifications. Does that mean if i use '-mno-eabi', it will adhere to System V.4 specs completely like the 'powerpc-linux' tool chain? Thanks, Rohit
ARM EABI ZCX Ada (4.6.1) almost working
Hi, I managed to debug the my sample app and find an error, which has made catching an exception work. Anyway, I changed the code to throw an exception in a nested subprogram, this was also caught by the outer subprogram. I then added a raise; statement as a handler to see if it would reraise and then exit the program, sadly, I get an infinite loop in the search phase (export EH_DEBUG=1 shows this). I've included the latest patch which gets the basics working. But I'm lost as to why it's not working for the reraise case. Can anyone help? Thanks, Luke. ** Just for info, so it's documented somewhere ** Just for people who need to know (as I couldn't find it anywhere), to get gnatlib to build with debugging info, I used the following: make -e GNATLIBCFLAGS='-ggdb -O0' This is then picked up the gcc/ada makefiles later in the build. diff -x '*~' -uNr gcc-4.6.1.orig/gcc/ada/a-exexpr-gcc.adb gcc-4.6.1/gcc/ada/a-exexpr-gcc.adb --- gcc-4.6.1.orig/gcc/ada/a-exexpr-gcc.adb 2009-04-09 16:00:19.0 +0100 +++ gcc-4.6.1/gcc/ada/a-exexpr-gcc.adb 2011-10-07 02:30:41.0 +0100 @@ -35,87 +35,11 @@ with Ada.Unchecked_Deallocation; with System.Storage_Elements; use System.Storage_Elements; +with System.Exception_Unwind; use System.Exception_Unwind; separate (Ada.Exceptions) package body Exception_Propagation is - - -- Entities to interface with the GCC runtime -- - - - -- These come from "C++ ABI for Itanium: Exception handling", which is - -- the reference for GCC. They are used only when we are relying on - -- back-end tables for exception propagation, which in turn is currently - -- only the case for Zero_Cost_Exceptions in GNAT5. - - -- Return codes from the GCC runtime functions used to propagate - -- an exception. - - type Unwind_Reason_Code is - (URC_NO_REASON, - URC_FOREIGN_EXCEPTION_CAUGHT, - URC_PHASE2_ERROR, - URC_PHASE1_ERROR, - URC_NORMAL_STOP, - URC_END_OF_STACK, - URC_HANDLER_FOUND, - URC_INSTALL_CONTEXT, - URC_CONTINUE_UNWIND); - - pragma Unreferenced - (URC_FOREIGN_EXCEPTION_CAUGHT, - URC_PHASE2_ERROR, - URC_PHASE1_ERROR, - URC_NORMAL_STOP, - URC_END_OF_STACK, - URC_HANDLER_FOUND, - URC_INSTALL_CONTEXT, - URC_CONTINUE_UNWIND); - - pragma Convention (C, Unwind_Reason_Code); - - -- Phase identifiers - - type Unwind_Action is - (UA_SEARCH_PHASE, - UA_CLEANUP_PHASE, - UA_HANDLER_FRAME, - UA_FORCE_UNWIND); - - for Unwind_Action use - (UA_SEARCH_PHASE => 1, - UA_CLEANUP_PHASE => 2, - UA_HANDLER_FRAME => 4, - UA_FORCE_UNWIND => 8); - - pragma Convention (C, Unwind_Action); - - -- Mandatory common header for any exception object handled by the - -- GCC unwinding runtime. - - type Exception_Class is mod 2 ** 64; - - GNAT_Exception_Class : constant Exception_Class := 16#474e552d41646100#; - -- "GNU-Ada\0" - - type Unwind_Word is mod 2 ** System.Word_Size; - for Unwind_Word'Size use System.Word_Size; - -- Map the corresponding C type used in Unwind_Exception below - - type Unwind_Exception is record - Class: Exception_Class := GNAT_Exception_Class; - Cleanup : System.Address := System.Null_Address; - Private1 : Unwind_Word; - Private2 : Unwind_Word; - end record; - -- Map the GCC struct used for exception handling - - for Unwind_Exception'Alignment use Standard'Maximum_Alignment; - -- The C++ ABI mandates the common exception header to be at least - -- doubleword aligned, and the libGCC implementation actually makes it - -- maximally aligned (see unwind.h). See additional comments on the - -- alignment below. - -- -- GNAT Specific Entities To Deal With The GCC EH Circuitry -- -- diff -x '*~' -uNr gcc-4.6.1.orig/gcc/ada/ChangeLog gcc-4.6.1/gcc/ada/ChangeLog --- gcc-4.6.1.orig/gcc/ada/ChangeLog 2011-06-27 11:03:04.0 +0100 +++ gcc-4.6.1/gcc/ada/ChangeLog 2011-10-09 11:51:05.0 +0100 @@ -1,3 +1,18 @@ +2011-10-09 Luke A. Guest + + * Initial port of ZCX code to ARM Linux. + * s-excunw-gcc.ads: New file, extracts the normal GCC Unwind_Exception + into it's own package. + * s-excunw-gcc-arm.ads: New file, extracts the ARM EABI GCC + Unwind_Exception into it's own package. + * a-exexpr-gcc.adb: Unwind_Exception and other enumerations removed. + * gcc-interface/Makefile.in: Handle new files to build for native and + ARM EABI exception blocks. + * Makefile.rtl: Added a line to build above unwind exception package. + * raise-gcc.c: Added support for ARM EABI UNWINDER. + * system-linux-armeb.ads: Changed to support ZCX instead of SJLJ. + * system-linux-armel.ads: Changed to support ZCX instead of SJLJ. + 2011-06-27 Release M
RE: compile a bounch of file
Hello Esmaeil, I have used Simplescalar a long time back, so my memory is not very up-to-date. If I remember correctly, all you do is to go to the simplesim-2.0 directory and type "make" after you modify an existing file. This should create a new executable. Please refer to these websites for more information (http://www.simplescalar.com/docs/install_guide_v2.txt, http://www.simplescalar.com/docs/users_guide_v2.pdf). To run a make file, all you do is to type "make" in your command prompt and it should run the makefile. For this command to work, you should have a program called "gmake" installed in your machine. This should come standard with most unix/linux install. If not, your system administrator can help you install it. Thanks, Balaji V. Iyer. -Original Message- From: esmaeil mirzaee [mailto:esmaeil.deb...@gmail.com] Sent: Sunday, October 09, 2011 6:06 AM To: gcc Subject: compile a bounch of file Hi Apologize in advanced for weak English and interrupt. I'm new in programming, I did some changes in a bounch of code and now I want to compile it but I have problem and I don't know. How can resolve the problem. some one said to me you must run the makefile :( I've got Simplescalar and I change some part of the cache.c, Now I want compile it and saw the changes I did. -- Best Esmaeil https://sites.google.com/site/esmaeilmirzaee
Re: ARM EABI ZCX Ada (4.6.1) almost working
On Sun, 2011-10-09 at 20:38 +0100, Luke A. Guest wrote: > Anyway, I changed the code to throw an exception in a nested subprogram, > this was also caught by the outer subprogram. I then added a raise; > statement as a handler to see if it would reraise and then exit the > program, sadly, I get an infinite loop in the search phase (export > EH_DEBUG=1 shows this). On further thinking about this, I have a feeling this may have something to do with the Private1 field of the unwind_exception, but I'm not too sure how yet. Luke.
Re: mno-eabi option on powerpc-elf
Rohit Arul Raj writes: > I am working with powerpc-elf tool chain v4.5.2 (with newlib). > > I need some clarification regarding the -mno-eabi option. From the GCC > docs, this option means that the tool chain does not adhere to EABI. > > -mno-eabi: > On System V.4 and embedded PowerPC systems do not adhere to > the Embedded Applications Binary Interface (eabi) which is a set of > modifications to the System V.4 specifications. > > Does that mean if i use '-mno-eabi', it will adhere to System V.4 > specs completely like the 'powerpc-linux' tool chain? This question would be more appropriate for the mailing list gcc-h...@gcc.gnu.org. Please take any followups to gcc-help. Thanks. Yes, using -mno-eabi should give you an ABI identical to standard System V.4. Ian