From owner-pro64-contrib@oss.sgi.com Tue Aug 7 00:27:35 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.2/8.11.3) id f777RZX11268 for pro64-contrib-outgoing; Tue, 7 Aug 2001 00:27:35 -0700 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by oss.sgi.com (8.11.2/8.11.3) with SMTP id f777RWV11258 for ; Tue, 7 Aug 2001 00:27:33 -0700 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with SMTP id BC5ED492B for ; Tue, 7 Aug 2001 07:27:25 +0000 (GMT) Received: by zeta.dmz-eu.st.com (STMicroelectronics, from userid 0) id 42F084941; Tue, 7 Aug 2001 07:24:03 +0000 (GMT) Received: from thistle.bri.st.com (localhost [127.0.0.1]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id C0BC41841 for ; Tue, 7 Aug 2001 07:24:02 +0000 (GMT) Received: from harpo ([164.129.14.93] helo=st.com) by thistle.bristol.st.com with esmtp (Exim 3.03 #5) id 15U1DX-0007fu-00 for pro64-contrib@oss.sgi.com; Tue, 07 Aug 2001 08:23:55 +0100 Message-ID: <3B6F9933.9D0A6061@st.com> Date: Tue, 07 Aug 2001 08:30:59 +0100 From: "Benedict R. Gaster" Organization: STMicroelectronics X-Mailer: Mozilla 4.7 [en-gb] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: Pro64 Contrib Subject: Pro64 code generation without PIC. Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-pro64-contrib@oss.sgi.com Precedence: bulk Hello! After my last post to the this mailing list we now have a Pro64 compiler generating code for function stack allocation and deallocation, and have function calls working. However, I am currently finding that although loading data, from .data or .rodata, for example, works fine assuming a global data pointer, i.e., PIC style code, but am unsure how to turn this off. In particular, we currently do not have an assembler supporting PIC style relocations and would like to execute the compiler generating loads from absoloute addresses. It seems likely that the Pro64 has options for this style of code generation, not we are only running at -O0 at the moment, but when I run the compiler with -v using the command: /vob/pro64-src/built/linux-SHmedia/bin/rothkocc -v -S -O0 t4.c (here rothko is used for the project name and replaces sgicc to aviod confusion) the backend command is: vob/pro64-src/built/linux-SHmedia//lib/SHmedia-SuperH-linux/sgicc-1.0-SH-0.1/be -PHASE:c -G8 -TENV:PIC -m1 -INTERNAL:return_val=on -INTERNAL:mldid_mstid=on -INTERNAL:return_info=on -show -O0 -TARG:abi=SHmedia32 -LANG:=ansi_c -fB,/tmp/ccB.3nkQge -s -fs,t4.s t4.c Here we see that the option -TENV:PIC is passed! Is there a command line option that will turn off PIC code generation, i.e., following a different route through the Expand_Code functions of the target backend? thanks for any help, ben. From owner-pro64-contrib@oss.sgi.com Tue Aug 7 09:55:22 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.2/8.11.3) id f77GtMW03124 for pro64-contrib-outgoing; Tue, 7 Aug 2001 09:55:22 -0700 Received: from deliverator.sgi.com (deliverator.sgi.com [204.94.214.10]) by oss.sgi.com (8.11.2/8.11.3) with SMTP id f77GtLV03120 for ; Tue, 7 Aug 2001 09:55:21 -0700 Received: from rohi.engr.sgi.com (rohi.engr.sgi.com [130.62.180.74]) by deliverator.sgi.com (980309.SGI.8.8.8-aspam-6.2/980310.SGI-aspam) via ESMTP id JAA21084 for ; Tue, 7 Aug 2001 09:55:07 -0700 (PDT) mail_from (mpm@rohi.engr.sgi.com) Received: (from mpm@localhost) by rohi.engr.sgi.com (980427.SGI.8.8.8/970903.SGI.AUTOCF) id JAA53893; Tue, 7 Aug 2001 09:54:46 -0700 (PDT) Date: Tue, 7 Aug 2001 09:54:46 -0700 (PDT) From: mpm@rohi.engr.sgi.com (Michael Murphy) Message-Id: <200108071654.JAA53893@rohi.engr.sgi.com> To: Pro64 Contrib , "Benedict R. Gaster" Subject: Re: Pro64 code generation without PIC. Sender: owner-pro64-contrib@oss.sgi.com Precedence: bulk From: "Benedict R. Gaster" Here we see that the option -TENV:PIC is passed! Is there a command line option that will turn off PIC code generation, i.e., following a different route through the Expand_Code functions of the target backend? -non_shared will turn off pic. But if you're not going to support PIC code then I suggest changing the driver to not default to PIC (see set_defaults routine). -- Mike Murphy -- mpm@sgi.com -- quote of the day: -- "When people are serving, life is no longer meaningless" (John Gardner) From owner-pro64-contrib@oss.sgi.com Mon Aug 20 03:24:35 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.2/8.11.3) id f7KAOZu13209 for pro64-contrib-outgoing; Mon, 20 Aug 2001 03:24:35 -0700 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by oss.sgi.com (8.11.2/8.11.3) with SMTP id f7KAOWj13204 for ; Mon, 20 Aug 2001 03:24:32 -0700 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with SMTP id D1F1449E1 for ; Mon, 20 Aug 2001 10:24:25 +0000 (GMT) Received: by zeta.dmz-eu.st.com (STMicroelectronics, from userid 0) id A584F49E0; Mon, 20 Aug 2001 10:23:55 +0000 (GMT) Received: from thistle.bri.st.com (localhost [127.0.0.1]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 273051849 for ; Mon, 20 Aug 2001 10:23:55 +0000 (GMT) Received: from harpo ([164.129.14.93] helo=st.com) by thistle.bristol.st.com with esmtp (Exim 3.03 #5) id 15YmDe-0000jl-00 for pro64-contrib@oss.sgi.com; Mon, 20 Aug 2001 11:23:42 +0100 Message-ID: <3B80E6DE.B1B9EF37@st.com> Date: Mon, 20 Aug 2001 11:30:54 +0100 From: "Benedict R. Gaster" Organization: STMicroelectronics X-Mailer: Mozilla 4.7 [en-gb] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: Pro64 Contrib Subject: Question about parameters passed on stack Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-pro64-contrib@oss.sgi.com Precedence: bulk Hello! hopefully this message will get through before the list is finally removed... although almost all of the ABI specifics have now been resolved for our port there is one issue that i would like to ask the list about. the problem is best described with an example. to help with the description of the problem assume some function, foo, with prototype: int foo(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j) according to our ABI parameters---not worrying, at this point, about varargs--- less than 8-bytes are passed in registers r2, ..., r9 (i.e., a, ..., h will be in registers on entry to foo) with the remaining ones (i.e., i and j in this case) are pushed on to the stack before transfer of control. if we assume that compilation is done at -O0, then parameters passed in registers are stored on to the stack during the function prologue. on complition of the function prologue the stack-frame should look like the following, according to our ABI (assuming little endian): +--------------------+ + upper 32bits of j + +--------------------+ + lower 32bits of j + + -------------------+ + upper 32bits of i + +--------------------+ + lower 32bits of i + + -------------------+ SP on entry to foo (8-byte aligned) + 32 bits of a + +--------------------+ + ... + +--------------------+ + 32 bits of h + +--------------------+ 8-byte aligned + vars local to foo + +--------------------+ SP after prologue (8-byte aligned) now the heart of our problem is the observation that parameters passed on the stack, as part of the callers frame, are always aligned to an 8-byte boundary. i've have checked that our implementation of the function Get_Input_Parameter_Location is returning the correct offset and so it must be somewhere during code generation, using the mtype to normalize the offset, that the chage is taking place! thanks for any help on this. ben. From owner-pro64-contrib@oss.sgi.com Mon Aug 20 10:52:47 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.2/8.11.3) id f7KHqlQ26740 for pro64-contrib-outgoing; Mon, 20 Aug 2001 10:52:47 -0700 Received: from zok.sgi.com (zok.sgi.com [204.94.215.101]) by oss.sgi.com (8.11.2/8.11.3) with SMTP id f7KHqlj26737 for ; Mon, 20 Aug 2001 10:52:47 -0700 Received: from rohi.engr.sgi.com (rohi.engr.sgi.com [130.62.180.74]) by zok.sgi.com (8.11.4/8.11.4/linux-outbound_gateway-1.0) with ESMTP id f7KHwsa17704 for ; Mon, 20 Aug 2001 10:58:54 -0700 Received: (from mpm@localhost) by rohi.engr.sgi.com (980427.SGI.8.8.8/970903.SGI.AUTOCF) id KAA59372; Mon, 20 Aug 2001 10:52:16 -0700 (PDT) Date: Mon, 20 Aug 2001 10:52:16 -0700 (PDT) From: mpm@rohi.engr.sgi.com (Michael Murphy) Message-Id: <200108201752.KAA59372@rohi.engr.sgi.com> To: Pro64 Contrib , "Benedict R. Gaster" Subject: Re: Question about parameters passed on stack Sender: owner-pro64-contrib@oss.sgi.com Precedence: bulk I suggest you compile with -Wb,-ttlay:1 and see if the trace says that they are allocated at 8-byte boundaries. I suspect they are, in which case you need to poke around data_layout and stblock to see where the 8-byte alignment is being set. -- Mike Murphy -- mpm@sgi.com -- quote of the day: -- "Faithfulness, not success" (Mother Theresa's goal) From owner-pro64-contrib@oss.sgi.com Fri Aug 31 04:40:29 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.2/8.11.3) id f7VBeTk16775 for pro64-contrib-outgoing; Fri, 31 Aug 2001 04:40:29 -0700 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by oss.sgi.com (8.11.2/8.11.3) with SMTP id f7VBeOd16772; Fri, 31 Aug 2001 04:40:24 -0700 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with SMTP id 5783A4938; Fri, 31 Aug 2001 10:24:35 +0000 (GMT) Received: by zeta.dmz-eu.st.com (STMicroelectronics, from userid 0) id 4B3DE48CE; Fri, 31 Aug 2001 10:24:50 +0000 (GMT) Received: from thistle.bri.st.com (localhost [127.0.0.1]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id CAEDF1841; Fri, 31 Aug 2001 10:24:49 +0000 (GMT) Received: from harpo ([164.129.14.93] helo=st.com) by thistle.bristol.st.com with esmtp (Exim 3.03 #5) id 15clTV-0006NE-00; Fri, 31 Aug 2001 11:24:33 +0100 Message-ID: <3B8F6786.6F97E962@st.com> Date: Fri, 31 Aug 2001 11:31:34 +0100 From: "Benedict R. Gaster" Organization: STMicroelectronics X-Mailer: Mozilla 4.7 [en-gb] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: Pro64 Support , Pro64 Contrib Subject: Job advert: Compiler designer/architect Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-pro64-contrib@oss.sgi.com Precedence: bulk SuperH, Inc is a new company formed by STMicroelectronics and Hitachi in order to market and develop the SuperH series of microprocessors as an independent company. The SuperH series will be offered as licensable cores for synthesis into embedded applications. See www.superh.com for more information. SuperH is headquartered in San Jose CA with R&D centers in Bristol UK and Tokyo Japan. SuperH will be developing software systems based on Open Source tecnology, including Gnu tools (i.e., gcc, gdb, etc.) and Pro64, and is looking for a range of engineers who have interests and/or experience in the following skill areas: o Code generation and optimization. Software pipelining, register allocation. Specific experience with gcc or Pro64 would be an advantage. o JIT compilation and dynamic optimization. o Linux development. o Architecture design. o Benchmarking. o Debugging technologies including gdb. SuperH will be developing products based on Gnu and Linux technogy as well as carrying out research into new innovative architectures and advanced compiler design, including the Pro64 and dynamic optimization. The main location for these posts is Bristol, UK. SuperH will be offering a comprehensive benefits package as well as an emloyee stock option scheme and bonus schemes. Job Title: Compiler designer/architect. Qualifications. Good knowledge of compiler optimizations, experience with Gnu or Pro64 would be useful. In depth knowledge of C & C++. Java an advantage. Experience in embedded system design. Please send CVs to: benedict.gaster@st.com Benedict R. Gaster SuperH, Inc.