Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020 
<== Date ==> <== Thread ==>

Subject: Re: cross-compiling for ppc64 with seq 2.1 and 2.2
From: Jeong Han Lee <citadel.lee@gmail.com>
To: Benjamin Franksen <benjamin.franksen@helmholtz-berlin.de>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Sat, 10 Feb 2018 17:20:01 +0100
Hi Benjamin,

Sorry for what I've mentioned seq. The problem isn't related with seq anymore, mentioned in other my reply.

Yes, my suspicious conclusion is my fault in the customized cross-compiler template for ppc64e6500.

It is the flag variable (let us know where s when the cross compilation is doing its job. So, the current my approach to apply the patch file is OK at here.

  Best,
  Han


c
    -include $(TOP)/configure/CONFIG_SITE.Common.$(T_A)
    -include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
-  -include $(TOP)/configure/O.$(T_A)/CONFIG_APP_INCLUDE
+  ifneq ($(CONFIG),$(TOP)/configure)
+    -include $(CONFIG)/CONFIG_APP_INCLUDE
+  endif
  endif

The cross compilation works again.

As far as the sequencer is concerned, this change should not be
necessary. I think (and your other findings seem to support that) there
is a problem with the configuration of this target architecture in base.
I guess there is a file missing somewhere but I have no clue what it
could be.

Sorry, I can't be more helpful.

Cheers
Ben

```
/opt/fsl-qoriq/current/sysroots/x86_64-fslsdk-linux/usr/bin/powerpc64-fsl-linux/powerpc64-fsl-linux-gcc
  -D_GNU_SOURCE -D_DEFAULT_SOURCE         -DUSE_TYPED_RSET   -D_ppc_64_
-DUNIX  -Dlinux     -O3   -Wall       -m64
--sysroot=/opt/fsl-qoriq/current/sysroots/ppc64e6500-fsl-linux
-mhard-float -mcpu=e6500 -pipe -feliminate-unused-debug-types     -fPIC
-I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc
-I../../../include/os/Linux -I../../../include
-I/home/jhlee/epics_env/epics-base/include/compiler/gcc
-I/home/jhlee/epics_env/epics-base/include/os/
-I/home/jhlee/epics_env/epics-base/include
-I/home/jhlee/epics_env/epics-base/include/compiler/gcc
-I/home/jhlee/epics_env/epics-base/include/os/Linux
-I/home/jhlee/epics_env/epics-base/include        -MM -MF pv.d  ../pv.c
```

It looks like somehow OS_CLASS is missing. Can I get some more insights
about them?


The weird CONFIG_SITE.Common.linux-ppc64e6500 is as follows:

```
include $(CONFIG)/os/CONFIG.Common.linux-ppc64

TOOLCHAIN_VER=current
TOOLCHAIN=fsl
TOOLCHAIN_SUFFIX=-qoriq

GNU_TARGET=powerpc64-$(TOOLCHAIN)-linux
SYSROOTS=/opt/$(TOOLCHAIN)$(TOOLCHAIN_SUFFIX)/$(TOOLCHAIN_VER)/sysroots
SDKTARGETSYSROOT=$(SYSROOTS)/ppc64e6500-$(TOOLCHAIN)-linux

CROSS_INCLUDES =

FSL_CFLAG = --sysroot=$(SDKTARGETSYSROOT) -mhard-float -mcpu=e6500

#ARCH_DEP_CPPFLAGS += $(FSL_CFLAG)

ARCH_DEP_CFLAGS   += $(FSL_CFLAG)
ARCH_DEP_CXXFLAGS += $(FSL_CFLAG)
ARCH_DEP_LDFLAGS  += --sysroot=$(SDKTARGETSYSROOT)


ARCH_DEP_CFLAGS   += -pipe -feliminate-unused-debug-types
ARCH_DEP_CXXFLAGS += -pipe -feliminate-unused-debug-types
ARCH_DEP_LDFLAGS  += -Wl,-O1
ARCH_DEP_LDFLAGS  += -Wl,--hash-style=gnu
ARCH_DEP_LDFLAGS  += -Wl,--as-needed

OECORE_NATIVE=x86_64-$(TOOLCHAIN)sdk-linux
GNU_DIR=$(SYSROOTS)/$(OECORE_NATIVE)/usr
GNU_BIN=$(GNU_DIR)/bin/$(GNU_TARGET)
GNU_TARGET_LIB_DIR=$(GNU_DIR)/lib
```--
"Make it so they have to reboot after every typo." ― Scott Adams


References:
cross-compiling for ppc64 with seq 2.1 and 2.2 Jeong Han Lee
Re: cross-compiling for ppc64 with seq 2.1 and 2.2 Benjamin Franksen

Navigate by Date:
Prev: Re: FLNK length limit Johnson, Andrew N.
Next: P4P release 1.0 (PVAccess for Python) Michael Davidsaver
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020 
Navigate by Thread:
Prev: Re: cross-compiling for ppc64 with seq 2.1 and 2.2 Benjamin Franksen
Next: Problem in calc module Jörn Dreyer
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020 
ANJ, 11 Feb 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·