Discussion:
[Open64-devel] Review request for open64 ppc native compiler
Huan Luo
2012-09-19 07:52:20 UTC
Permalink
Hi,
In this patch, we adopt the configure-based build system for ppc native.
The build and install process of ppc native compiler is slightly different
from that of x86-ppc cross compiler, which is currently available in the trunk.
We made a few adjustments so that ppc native can be successfully built
and installed. Gcc.c-torture test result shows that this patch doesn't affect
correctness on x86 native or x86-ppc cross systems.


--
Regards

Luo Huan
David Coakley
2012-09-22 18:31:25 UTC
Permalink
Hello,

I looked at the changes. I'm a bit confused by the exclusion of ld-new in
Makefile.in:

ifneq ($(LIB_BUILD_ARCH), PPC32)
BASIC_COMPONENTS += \
$(NATIVE_BUILD_DIR_LD)/ld/ld-new
endif

Do you support IPA for this configuration? If not, then you should define
BUILD_SKIP_IPA in configure.ac. If you do, then how do you replace ld-new
(ipa_link)?

Also, I wonder if 'arith' should be excluded when BUILD_FORTRAN is true? I
will check that for the x86 build.

-David
Post by Huan Luo
Hi,
In this patch, we adopt the configure-based build system for ppc native.
The build and install process of ppc native compiler is slightly different
from that of x86-ppc cross compiler, which is currently available in the trunk.
We made a few adjustments so that ppc native can be successfully built
and installed. Gcc.c-torture test result shows that this patch doesn't affect
correctness on x86 native or x86-ppc cross systems.
--
Regards
Luo Huan
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Open64-devel mailing list
https://lists.sourceforge.net/lists/listinfo/open64-devel
David Coakley
2012-09-27 03:53:38 UTC
Permalink
Just to follow up, I did some testing and 'arith' can be safely excluded
when Fortran is not supported. Here is my suggested change to handle that
part:

Index: Makefile.in
===================================================================
--- Makefile.in (revision 4030)
+++ Makefile.in (working copy)
@@ -152,8 +152,7 @@
$(NATIVE_BUILD_DIR)/libelfutil \
$(NATIVE_BUILD_DIR)/libdwarf \
$(NATIVE_BUILD_DIR)/libunwindP \
- $(NATIVE_BUILD_DIR)/libcif \
- $(NATIVE_BUILD_DIR)/arith
+ $(NATIVE_BUILD_DIR)/libcif

NATIVE_COMPONENTS = $(BASIC_COMPONENTS) $(TARGET_EXTRA_OBJ) \
$(GNU4_FE_COMPONENTS) $(FORT_FE_COMPONENTS) \
@@ -455,8 +454,8 @@
ifeq ($(BUILD_FORTRAN), YES)
$(MAKE) -C $(NATIVE_BUILD_DIR)/crayf90 clobber
$(MAKE) -C $(NATIVE_BUILD_DIR)/whirl2f clobber
-endif
$(MAKE) -C $(NATIVE_BUILD_DIR)/arith clobber
+endif
$(MAKE) -C $(NATIVE_BUILD_DIR)/include clobber
$(MAKE) -C $(NATIVE_BUILD_DIR)/libspin_4_2_0 clobber
ifeq ($(MACHINE_TYPE), ia64)


-David
Post by David Coakley
Hello,
I looked at the changes. I'm a bit confused by the exclusion of ld-new in
ifneq ($(LIB_BUILD_ARCH), PPC32)
BASIC_COMPONENTS += \
$(NATIVE_BUILD_DIR_LD)/ld/ld-new
endif
Do you support IPA for this configuration? If not, then you should define
BUILD_SKIP_IPA in configure.ac. If you do, then how do you replace
ld-new (ipa_link)?
Also, I wonder if 'arith' should be excluded when BUILD_FORTRAN is true?
I will check that for the x86 build.
-David
Post by Huan Luo
Hi,
In this patch, we adopt the configure-based build system for ppc native.
The build and install process of ppc native compiler is slightly different
from that of x86-ppc cross compiler, which is currently available in the trunk.
We made a few adjustments so that ppc native can be successfully built
and installed. Gcc.c-torture test result shows that this patch doesn't affect
correctness on x86 native or x86-ppc cross systems.
--
Regards
Luo Huan
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Open64-devel mailing list
https://lists.sourceforge.net/lists/listinfo/open64-devel
Huan Luo
2012-09-28 11:19:55 UTC
Permalink
Thanks very much for the help.
IPA is not supported on ppc native. And I made some adjustments on "arith"
according to your suggestion. Everything looks fine after these new changes.
A new patch is attached.
Thanks again for your review.





--

Best wishes.

Huan Luo


At 2012-09-27 11:53:38,"David Coakley" <***@gmail.com> wrote:
Just to follow up, I did some testing and 'arith' can be safely excluded when Fortran is not supported. Here is my suggested change to handle that part:


Index: Makefile.in
===================================================================
--- Makefile.in(revision 4030)
+++ Makefile.in(working copy)
@@ -152,8 +152,7 @@
$(NATIVE_BUILD_DIR)/libelfutil \
$(NATIVE_BUILD_DIR)/libdwarf \
$(NATIVE_BUILD_DIR)/libunwindP \
-$(NATIVE_BUILD_DIR)/libcif \
-$(NATIVE_BUILD_DIR)/arith
+$(NATIVE_BUILD_DIR)/libcif

NATIVE_COMPONENTS = $(BASIC_COMPONENTS) $(TARGET_EXTRA_OBJ) \
$(GNU4_FE_COMPONENTS) $(FORT_FE_COMPONENTS) \
@@ -455,8 +454,8 @@
ifeq ($(BUILD_FORTRAN), YES)
$(MAKE) -C $(NATIVE_BUILD_DIR)/crayf90 clobber
$(MAKE) -C $(NATIVE_BUILD_DIR)/whirl2f clobber
-endif
$(MAKE) -C $(NATIVE_BUILD_DIR)/arith clobber
+endif
$(MAKE) -C $(NATIVE_BUILD_DIR)/include clobber
$(MAKE) -C $(NATIVE_BUILD_DIR)/libspin_4_2_0 clobber
ifeq ($(MACHINE_TYPE), ia64)




-David


On Sat, Sep 22, 2012 at 11:31 AM, David Coakley <***@gmail.com> wrote:
Hello,


I looked at the changes. I'm a bit confused by the exclusion of ld-new in Makefile.in:


ifneq ($(LIB_BUILD_ARCH), PPC32)
BASIC_COMPONENTS += \
$(NATIVE_BUILD_DIR_LD)/ld/ld-new
endif


Do you support IPA for this configuration? If not, then you should define BUILD_SKIP_IPA in configure.ac. If you do, then how do you replace ld-new (ipa_link)?


Also, I wonder if 'arith' should be excluded when BUILD_FORTRAN is true? I will check that for the x86 build.


-David


On Wed, Sep 19, 2012 at 12:52 AM, Huan Luo <***@126.com> wrote:

Hi,
In this patch, we adopt the configure-based build system for ppc native.
The build and install process of ppc native compiler is slightly different
from that of x86-ppc cross compiler, which is currently available in the trunk.
We made a few adjustments so that ppc native can be successfully built
and installed. Gcc.c-torture test result shows that this patch doesn't affect
correctness on x86 native or x86-ppc cross systems.


--
Regards

Luo Huan
David Coakley
2012-10-01 05:32:38 UTC
Permalink
Ok, that looks better. I don't think the following change is needed,
though:

@@ -318,8 +318,10 @@
$(NATIVE_BUILD_DIR)/ir_tools/ir_b2a ir_b2a: libcomutil
$(MAKE) -C $(NATIVE_BUILD_DIR)/ir_tools

+ifneq ($(LIB_BUILD_ARCH), PPC32)
$(NATIVE_BUILD_DIR)/crayf90/sgi/mfef95 mfef95: libcomutil libcif arith
$(MAKE) -C $(NATIVE_BUILD_DIR)/crayf90
+endif

.PHONY: phony_targets first
$(NATIVE_BUILD_DIR_LD)/ld/ld-new ld-new:

Since you have BUILD_FORTRAN set to NO, mfef95 should be excluded from
NATIVE_COMPONENTS and this rule won't be used.

Otherwise the patch looks fine to check in.

-David
Post by Huan Luo
Thanks very much for the help.
IPA is not supported on ppc native. And I made some adjustments on "arith"
according to your suggestion. Everything looks fine after these new changes.
A new patch is attached.
Thanks again for your review.
--
Best wishes.
Huan Luo
Just to follow up, I did some testing and 'arith' can be safely excluded
when Fortran is not supported. Here is my suggested change to handle that
Index: Makefile.in
===================================================================
--- Makefile.in (revision 4030)
+++ Makefile.in (working copy)
@@ -152,8 +152,7 @@
$(NATIVE_BUILD_DIR)/libelfutil \
$(NATIVE_BUILD_DIR)/libdwarf \
$(NATIVE_BUILD_DIR)/libunwindP \
- $(NATIVE_BUILD_DIR)/libcif \
- $(NATIVE_BUILD_DIR)/arith
+ $(NATIVE_BUILD_DIR)/libcif
NATIVE_COMPONENTS = $(BASIC_COMPONENTS) $(TARGET_EXTRA_OBJ) \
$(GNU4_FE_COMPONENTS) $(FORT_FE_COMPONENTS) \
@@ -455,8 +454,8 @@
ifeq ($(BUILD_FORTRAN), YES)
$(MAKE) -C $(NATIVE_BUILD_DIR)/crayf90 clobber
$(MAKE) -C $(NATIVE_BUILD_DIR)/whirl2f clobber
-endif
$(MAKE) -C $(NATIVE_BUILD_DIR)/arith clobber
+endif
$(MAKE) -C $(NATIVE_BUILD_DIR)/include clobber
$(MAKE) -C $(NATIVE_BUILD_DIR)/libspin_4_2_0 clobber
ifeq ($(MACHINE_TYPE), ia64)
-David
Post by David Coakley
Hello,
ifneq ($(LIB_BUILD_ARCH), PPC32)
BASIC_COMPONENTS += \
$(NATIVE_BUILD_DIR_LD)/ld/ld-new
endif
Do you support IPA for this configuration? If not, then you should
define BUILD_SKIP_IPA in configure.ac. If you do, then how do you
replace ld-new (ipa_link)?
Also, I wonder if 'arith' should be excluded when BUILD_FORTRAN is true?
I will check that for the x86 build.
-David
Post by Huan Luo
Hi,
In this patch, we adopt the configure-based build system for ppc native.
The build and install process of ppc native compiler is slightly different
from that of x86-ppc cross compiler, which is currently available in the trunk.
We made a few adjustments so that ppc native can be successfully built
and installed. Gcc.c-torture test result shows that this patch doesn't affect
correctness on x86 native or x86-ppc cross systems.
--
Regards
Luo Huan
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Open64-devel mailing list
https://lists.sourceforge.net/lists/listinfo/open64-devel
Loading...