aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-devtools/codexl/codexl
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-devtools/codexl/codexl')
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0001-cross-compile-compatibility.patch28
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0002-set-the-scons-execution-environment.patch65
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0003-set-the-scons-construction-environment.patch105
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0004-set-the-CPPFLAGS-for-cross-compile.patch82
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0005-set-the-LIBPATH-for-cross-compile.patch197
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0006-modify-compiler_base_flags.patch28
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0007-donot-use-the-local-copy-of-libstdc.patch46
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0008-Examples-AMDTTeaPot-fix-a-null-pointer-exception.patch33
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0009-remove-remote-agent-dependency-on-UI-components.patch33
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0010-fix-CXL_env-update-code-position.patch71
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0011-tune-gpu-profiler-backend-metadata-for-cross-compila.patch43
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0012-pwrprof-driver-tune-metadata-for-crosscompile.patch21
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0013-do-not-use-local-libGLEW.patch55
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0014-do-not-use-local-tinyxml.patch107
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0015-add-build-control-flag-CXL_RA_only.patch93
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0016-add-build-control-flag-CXL_sysroot_dir.patch278
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0017-add-tinxml-to-list-of-LIBS-for-CapturePlayer.patch32
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0018-AMDTAPIClasses-fix-build-with-gcc6.patch121
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0019-Miniz-fix-build-with-gcc6.patch63
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0020-WebServer-fix-misleading-cleanup-under-RemoveHandler.patch30
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0021-AMDTPowerProfileApi-fix-build-issues.patch39
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/0022-GpuProfiling-disable-ignored-attributes-checks.patch29
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/amdtPwrProf.rules5
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/amdtPwrProf_mknod.sh3
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/codexl-remote-agent.service15
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/codexl_remote_agent.sh27
-rw-r--r--meta-amd-bsp/recipes-devtools/codexl/codexl/makefile-mkdir-ordering.patch11
27 files changed, 1660 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0001-cross-compile-compatibility.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0001-cross-compile-compatibility.patch
new file mode 100644
index 00000000..fa4c39b1
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0001-cross-compile-compatibility.patch
@@ -0,0 +1,28 @@
+From 9af68008d3ddc0f8deba2ef1f7fada8505779716 Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Fri, 7 Oct 2016 12:15:26 +0500
+Subject: [PATCH] cross compile compatibility
+
+remove the fixed path that is used to set the location to
+look for python modules, we will set it by PYTHONPATH.
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ Common/Src/SCons/CXL_init.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Common/Src/SCons/CXL_init.py b/Common/Src/SCons/CXL_init.py
+index d0a10a1..bf36509 100755
+--- a/Common/Src/SCons/CXL_init.py
++++ b/Common/Src/SCons/CXL_init.py
+@@ -10,7 +10,6 @@ import platform
+
+ def initCXLVars (CXL_vars) :
+ try:
+- sys.path.append("/usr/lib/scons/SCons/Variables/")
+ enum_mod = __import__("EnumVariable")
+ except ImportError:
+ print "Error: Could not import EnumVariable"
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0002-set-the-scons-execution-environment.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0002-set-the-scons-execution-environment.patch
new file mode 100644
index 00000000..ece37c0b
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0002-set-the-scons-execution-environment.patch
@@ -0,0 +1,65 @@
+From e71e75de5b4025cbb3e1b60e7b7ff1ec51bc6736 Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Fri, 7 Oct 2016 12:29:54 +0500
+Subject: [PATCH] set the scons execution environment
+
+propogate the external environment to scons execution environment.
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ CodeXL/Components/GpuProfiling/Build/SConstruct | 2 +-
+ CodeXL/Components/Graphics/SConstruct | 4 +++-
+ CodeXL/SConstruct | 4 ++--
+ 3 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/CodeXL/Components/GpuProfiling/Build/SConstruct b/CodeXL/Components/GpuProfiling/Build/SConstruct
+index 6d13e0d..90a36bb 100755
+--- a/CodeXL/Components/GpuProfiling/Build/SConstruct
++++ b/CodeXL/Components/GpuProfiling/Build/SConstruct
+@@ -33,7 +33,7 @@ initCXLVars(CXL_vars)
+ #
+ CXL_env = Environment(
+ variables = CXL_vars,
+- ENV = {'PATH':os.environ['PATH']})
++ ENV = os.environ)
+
+ # CXL build initialization
+ initCXLBuild (CXL_env)
+diff --git a/CodeXL/Components/Graphics/SConstruct b/CodeXL/Components/Graphics/SConstruct
+index e46760d..92998aa 100644
+--- a/CodeXL/Components/Graphics/SConstruct
++++ b/CodeXL/Components/Graphics/SConstruct
+@@ -17,7 +17,9 @@ GPS_vars.Add('GPS_build', 'Set to release to build for release', 0)
+ GPS_vars.Add('GPS_arch', 'Set to x86 for 32 bit build', 0)
+
+ # Build the environment (base compiler options)
+-GPS_env = Environment(variables = GPS_vars)
++GPS_env = Environment(
++ variables = GPS_vars,
++ ENV = os.environ)
+ Help(GPS_vars.GenerateHelpText(GPS_env))
+
+ # Set the version of PerfAPI that is being used
+diff --git a/CodeXL/SConstruct b/CodeXL/SConstruct
+index 1016ed3..a602f6a 100755
+--- a/CodeXL/SConstruct
++++ b/CodeXL/SConstruct
+@@ -32,7 +32,7 @@ initCXLVars(CXL_vars)
+ #
+ CXL_env = Environment(
+ variables = CXL_vars,
+- ENV = {'PATH':os.environ['PATH']})
++ ENV = os.environ)
+
+ # CXL build initialization
+ initCXLBuild (CXL_env)
+@@ -675,4 +675,4 @@ Alias( target='APICommon' ,source=(GPSAPICommon_Obj))
+ Alias( target='VulkanServer' ,source=(VulkanServer))
+ Alias( target='CapturePlayer' ,source=(CapturePlayer))
+ Alias( target='GPUPerfServer' ,source=(GPUPerfServer))
+-Alias( target='VulkanEnv' , source=(VulkanEnv))
+\ No newline at end of file
++Alias( target='VulkanEnv' , source=(VulkanEnv))
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0003-set-the-scons-construction-environment.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0003-set-the-scons-construction-environment.patch
new file mode 100644
index 00000000..7b790d92
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0003-set-the-scons-construction-environment.patch
@@ -0,0 +1,105 @@
+From cc891c91c99e0240baad53a839f4a58219718248 Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Fri, 7 Oct 2016 14:58:17 +0500
+Subject: [PATCH] set the scons construction environment
+
+propogate the external environment to scons construction environment.
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ CodeXL/Components/GpuProfiling/Build/SConstruct | 18 ++++++++++++++++++
+ CodeXL/Components/Graphics/SConstruct | 19 +++++++++++++++++++
+ CodeXL/SConstruct | 18 ++++++++++++++++++
+ 3 files changed, 55 insertions(+)
+
+diff --git a/CodeXL/Components/GpuProfiling/Build/SConstruct b/CodeXL/Components/GpuProfiling/Build/SConstruct
+index 90a36bb..94f5b6a 100755
+--- a/CodeXL/Components/GpuProfiling/Build/SConstruct
++++ b/CodeXL/Components/GpuProfiling/Build/SConstruct
+@@ -13,6 +13,24 @@ from CXL_init import *
+ #
+ CXL_vars = Variables(None)
+
++# update CXL_env as per the external environment
++# Set defaults from environment. Note that scons doesn't cope well
++# with multi-word CPPFLAGS/LDFLAGS/SHLINKFLAGS values; you'll have to
++# explicitly quote them or (better yet) use the "=" form of GNU option
++# settings.
++
++for key, value in os.environ.items():
++ if key in ("CFLAGS", "CCFLAGS", "LINKFLAGS"):
++ CXL_env.Replace(**{key: Split(os.getenv(key))})
++ elif key in ("LDFLAGS", "SHLINKFLAGS"):
++ pass
++ else:
++ CXL_env.Replace(**{key: os.getenv(key)})
++
++for flag in ["LDFLAGS", "SHLINKFLAGS"]:
++ if os.environ.has_key(flag):
++ CXL_env.MergeFlags({flag : [os.getenv(flag)]})
++
+ # Initial CXL_vars scons construction variables
+ initCXLVars(CXL_vars)
+
+diff --git a/CodeXL/Components/Graphics/SConstruct b/CodeXL/Components/Graphics/SConstruct
+index 92998aa..71defea 100644
+--- a/CodeXL/Components/Graphics/SConstruct
++++ b/CodeXL/Components/Graphics/SConstruct
+@@ -20,6 +20,25 @@ GPS_vars.Add('GPS_arch', 'Set to x86 for 32 bit build', 0)
+ GPS_env = Environment(
+ variables = GPS_vars,
+ ENV = os.environ)
++
++# update GPS_env as per the external environment
++# Set defaults from environment. Note that scons doesn't cope well
++# with multi-word CPPFLAGS/LDFLAGS/SHLINKFLAGS values; you'll have to
++# explicitly quote them or (better yet) use the "=" form of GNU option
++# settings.
++
++for key, value in os.environ.items():
++ if key in ("CFLAGS", "CCFLAGS", "LINKFLAGS"):
++ GPS_env.Replace(**{key: Split(os.getenv(key))})
++ elif key in ("LDFLAGS", "SHLINKFLAGS"):
++ pass
++ else:
++ GPS_env.Replace(**{key: os.getenv(key)})
++
++for flag in ["LDFLAGS", "SHLINKFLAGS"]:
++ if os.environ.has_key(flag):
++ GPS_env.MergeFlags({flag : [os.getenv(flag)]})
++
+ Help(GPS_vars.GenerateHelpText(GPS_env))
+
+ # Set the version of PerfAPI that is being used
+diff --git a/CodeXL/SConstruct b/CodeXL/SConstruct
+index a602f6a..8923020 100755
+--- a/CodeXL/SConstruct
++++ b/CodeXL/SConstruct
+@@ -34,6 +34,24 @@ CXL_env = Environment(
+ variables = CXL_vars,
+ ENV = os.environ)
+
++# update CXL_env as per the external environment
++# Set defaults from environment. Note that scons doesn't cope well
++# with multi-word CPPFLAGS/LDFLAGS/SHLINKFLAGS values; you'll have to
++# explicitly quote them or (better yet) use the "=" form of GNU option
++# settings.
++
++for key, value in os.environ.items():
++ if key in ("CFLAGS", "CCFLAGS", "LINKFLAGS"):
++ CXL_env.Replace(**{key: Split(os.getenv(key))})
++ elif key in ("LDFLAGS", "SHLINKFLAGS"):
++ pass
++ else:
++ CXL_env.Replace(**{key: os.getenv(key)})
++
++for flag in ["LDFLAGS", "SHLINKFLAGS"]:
++ if os.environ.has_key(flag):
++ CXL_env.MergeFlags({flag : [os.getenv(flag)]})
++
+ # CXL build initialization
+ initCXLBuild (CXL_env)
+
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0004-set-the-CPPFLAGS-for-cross-compile.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0004-set-the-CPPFLAGS-for-cross-compile.patch
new file mode 100644
index 00000000..e56914a6
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0004-set-the-CPPFLAGS-for-cross-compile.patch
@@ -0,0 +1,82 @@
+From cf1b8ce583d3dbbd8988d1c1b3c6d5c3ff4dc8d0 Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Fri, 7 Oct 2016 15:35:53 +0500
+Subject: [PATCH] set the CPPFLAGS for cross compile
+
+Prefix the include directories with the sysroot directory,
+so that it would become compatible for cross compilation.
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ CodeXL/Components/Graphics/GPS_init.py | 20 ++++++++++----------
+ Common/Src/SCons/CXL_init.py | 22 +++++++++++-----------
+ 2 file changed, 21 insertions(+), 21 deletions(-)
+
+diff --git a/CodeXL/Components/Graphics/GPS_init.py b/CodeXL/Components/Graphics/GPS_init.py
+index 8b42027..805191d 100644
+--- a/CodeXL/Components/Graphics/GPS_init.py
++++ b/CodeXL/Components/Graphics/GPS_init.py
+@@ -47,16 +47,16 @@ def ParseCommandLine(env, buildInternal):
+ # initialize Gtk library
+ def initGtk(env):
+ env.Append(BASE_PATH = [
+- "/usr/include/cairo",
+- "/usr/include/pango-1.0",
+- "/usr/include/atk-1.0",
+- "/usr/include/gtk-2.0",
+- "/usr/include/gdk-pixbuf-2.0",
+- "/usr/include/glib-2.0",
+- "/usr/lib64/gtk-2.0/include",
+- "/usr/lib64/glib-2.0/include/",
+- "/usr/lib/x86_64-linux-gnu/glib-2.0/include",
+- "/usr/lib/x86_64-linux-gnu/gtk-2.0/include",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/cairo",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/pango-1.0",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/atk-1.0",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gtk-2.0",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/glib-2.0",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib64/gtk-2.0/include",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib64/glib-2.0/include/",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu/glib-2.0/include",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu/gtk-2.0/include",
+ ])
+
+ ##########################################################################################
+
+diff --git a/Common/Src/SCons/CXL_init.py b/Common/Src/SCons/CXL_init.py
+index bf36509..0672013 100755
+--- a/Common/Src/SCons/CXL_init.py
++++ b/Common/Src/SCons/CXL_init.py
+@@ -433,17 +433,17 @@ def UseQtNoGraphics(env):
+
+ def initGtk (env) :
+ env.Append(CXL_Gtk_inc_path = [
+- "/usr/include/cairo",
+- "/usr/include/pango-1.0",
+- "/usr/include/atk-1.0",
+- "/usr/include/gtk-2.0",
+- "/usr/include/gdk-pixbuf-2.0",
+- "/usr/include/glib-2.0",
+- "/usr/lib64/gtk-2.0/include",
+- "/usr/lib64/glib-2.0/include/",
+- "/usr/lib/x86_64-linux-gnu/glib-2.0/include",
+- "/usr/lib/x86_64-linux-gnu/gtk-2.0/include",
+- "/usr/include/x86_64-linux-gnu/",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/cairo",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/pango-1.0",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/atk-1.0",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gtk-2.0",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/glib-2.0",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib64/gtk-2.0/include",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib64/glib-2.0/include/",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu/glib-2.0/include",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu/gtk-2.0/include",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/x86_64-linux-gnu/",
+ ])
+ # No additional libraries needed for Gtk
+
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0005-set-the-LIBPATH-for-cross-compile.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0005-set-the-LIBPATH-for-cross-compile.patch
new file mode 100644
index 00000000..911d5cbc
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0005-set-the-LIBPATH-for-cross-compile.patch
@@ -0,0 +1,197 @@
+From 70708ca44550ec99c2173affcc1d585fd24ecde6 Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Fri, 7 Oct 2016 15:55:13 +0500
+Subject: [PATCH] set the LIBPATH for cross compile
+
+Prefix the library directories with the sysroot directory,
+so that it would become compatible for cross compilation.
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ .../GpuDebugging/AMDTRemoteDebuggingServer/SConscript | 4 ++--
+ CodeXL/App/SConscript | 2 +-
+ CodeXL/Components/Graphics/SConstruct | 6 +++---
+ CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/SConscript | 12 ++++++------
+ CodeXL/Utils/AMDTSystemInformationHelper/SConscript | 2 +-
+ Common/Src/AMDTApplication/SConscript | 2 +-
+ Common/Src/AMDTApplicationComponents/SConscript | 2 +-
+ Common/Src/AMDTOSAPIWrappers/SConscript | 6 +++---
+ Common/Src/AMDTOSWrappers/SConscript | 4 ++--
+ Common/Src/AMDTOSWrappers/SConscriptHSA | 4 ++--
+ 10 files changed, 22 insertions(+), 22 deletions(-)
+
+diff --git a/CodeXL/App/SConscript b/CodeXL/App/SConscript
+index a60cca4..4924c4a 100755
+--- a/CodeXL/App/SConscript
++++ b/CodeXL/App/SConscript
+@@ -15,7 +15,7 @@ env.Append( CPPPATH = [
+ env['CXL_commonproj_dir'],
+ env['CXL_commonproj_dir'] + "/AMDTOSWrappers/Include",
+ env['CXL_commonproj_dir'] + '/../../CodeXL',
+- "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
+ ])
+ UseBoost(env)
+ UseGtk(env)
+diff --git a/CodeXL/Components/GpuDebugging/AMDTRemoteDebuggingServer/SConscript b/CodeXL/Components/GpuDebugging/AMDTRemoteDebuggingServer/SConscript
+index 9cc1c6e..ffe3387 100755
+--- a/CodeXL/Components/GpuDebugging/AMDTRemoteDebuggingServer/SConscript
++++ b/CodeXL/Components/GpuDebugging/AMDTRemoteDebuggingServer/SConscript
+@@ -27,8 +27,8 @@ sources = \
+ ]
+
+ env.Append( LIBPATH = [
+- "/usr/lib",
+- "/usr/lib/x86_64-linux-gnu",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu",
+ env['CXL_common_dir'] + "/Lib/Ext/zlib/1.2.8/bin/x64/ZlibStatRelease/"
+ ])
+
+diff --git a/CodeXL/Components/Graphics/SConstruct b/CodeXL/Components/Graphics/SConstruct
+index 71defea..d2a6cca 100644
+--- a/CodeXL/Components/Graphics/SConstruct
++++ b/CodeXL/Components/Graphics/SConstruct
+@@ -154,9 +154,9 @@ GPS_env['GPS_PATH'] = \
+ # Additional linker library paths
+ GPS_env['GPS_LIBPATH'] = \
+ [
+- '/usr/' + GPS_env.libConfig,
+- '/usr/lib',
+- '/usr/lib/' + GPS_env.gnuConfig,
++ env['PKG_CONFIG_SYSROOT_DIR'] + '/usr/' + GPS_env.libConfig,
++ env['PKG_CONFIG_SYSROOT_DIR'] + '/usr/lib',
++ env['PKG_CONFIG_SYSROOT_DIR'] + '/usr/lib/' + GPS_env.gnuConfig,
+ '../../obj/' + GPS_env.platformPath + '/' + GPS_env.rootFolderName + '/Server/Common',
+ '../../obj/' + GPS_env.platformPath + '/' + GPS_env.rootFolderName,
+ GPS_env.CommonPath + '../../Common/Lib/Ext/Boost/boost_' + GPS_env.BoostVersion + '/lib/RHEL6/' + GPS_env.extConfig,
+diff --git a/CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/SConscript b/CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/SConscript
+index 2b7d33d..0c6d61c 100755
+--- a/CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/SConscript
++++ b/CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/SConscript
+@@ -21,16 +21,16 @@ env.Append( CPPPATH = [
+ "../AMDTTeaPotLib",
+ env['CXL_commonproj_dir'] + "/AMDTOSWrappers/Include",
+ env['CXL_commonproj_dir'] + "/AMDT/Include",
+- "/usr/include/GL",
+- "/usr/include/freetype2",
+- "/usr/include/libpng12",
+- "/usr/lib/x86_64-linux-gnu/glib-2.0/include",
+- "/usr/include/freetype2",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/GL",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/freetype2",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/libpng12",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu/glib-2.0/include",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/freetype2",
+
+ ])
+
+ env.Append( LIBPATH = [
+- "/usr/lib/x86_64-linux-gnu/mesa",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu/mesa",
+ env['CXL_Examples_dir'] + "/release",
+ ])
+
+diff --git a/CodeXL/Utils/AMDTSystemInformationHelper/SConscript b/CodeXL/Utils/AMDTSystemInformationHelper/SConscript
+index bf6a62f..a46a66d 100755
+--- a/CodeXL/Utils/AMDTSystemInformationHelper/SConscript
++++ b/CodeXL/Utils/AMDTSystemInformationHelper/SConscript
+@@ -23,7 +23,7 @@ env.Append( CPPPATH = [
+ # env.Append(CPPFLAGS = '-fno-strict-aliasing')
+
+ env.Append( LIBPATH = [
+- "/usr/lib",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib",
+ ])
+
+ sources = \
+diff --git a/Common/Src/AMDTApplication/SConscript b/Common/Src/AMDTApplication/SConscript
+index a260b5c..f284f23 100755
+--- a/Common/Src/AMDTApplication/SConscript
++++ b/Common/Src/AMDTApplication/SConscript
+@@ -15,7 +15,7 @@ env.Append( CPPPATH = [
+ env['CXL_commonproj_dir'],
+ env['CXL_commonproj_dir'] + "/AMDTOSWrappers/Include",
+ env['CXL_commonproj_dir'] + '/../../CodeXL',
+- "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
+ ])
+
+ UseGtk(env)
+diff --git a/Common/Src/AMDTApplicationComponents/SConscript b/Common/Src/AMDTApplicationComponents/SConscript
+index c214bf8..97bf9ff 100755
+--- a/Common/Src/AMDTApplicationComponents/SConscript
++++ b/Common/Src/AMDTApplicationComponents/SConscript
+@@ -15,7 +15,7 @@ env.Append( CPPPATH = [
+ env['CXL_commonproj_dir'],
+ env['CXL_commonproj_dir'] + "/AMDTOSAPIWrappers/Include",
+ env['CXL_commonproj_dir'] + '/../../CodeXL',
+- "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
+ ])
+
+
+diff --git a/Common/Src/AMDTOSAPIWrappers/SConscript b/Common/Src/AMDTOSAPIWrappers/SConscript
+index b428271..630bcc1 100644
+--- a/Common/Src/AMDTOSAPIWrappers/SConscript
++++ b/Common/Src/AMDTOSAPIWrappers/SConscript
+@@ -17,7 +17,7 @@ env.Append( CPPPATH = [
+ env['CXL_common_dir'] + '/Src/HSAUtils',
+ '/opt/rocm/hsa/include', # A dependency of /Src/HSAUtils
+ env['CXL_common_dir'] + '/Src/TSingleton',
+- "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
+ ])
+
+ # osMessageBox, osDesktop
+@@ -66,8 +66,8 @@ if (env['CXL_arch'] != 'x86' and env['CXL_hsa'] == 'true'):
+ objFiles = env.SharedObject(sources)
+
+ env.Append( LIBPATH = [
+- "/usr/lib",
+- "/usr/lib/x86_64-linux-gnu",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu",
+ env['CXL_common_dir'] + "/Lib/Ext/zlib/1.2.8/bin/x64/ZlibStatRelease/"
+ ])
+
+diff --git a/Common/Src/AMDTOSWrappers/SConscript b/Common/Src/AMDTOSWrappers/SConscript
+index f779a10..c8fca6c 100755
+--- a/Common/Src/AMDTOSWrappers/SConscript
++++ b/Common/Src/AMDTOSWrappers/SConscript
+@@ -20,7 +20,7 @@ env.Append( CPPPATH = [
+ "./Include/",
+ env['CXL_commonproj_dir'],
+ env['CXL_common_dir'] + '/Src/Miniz/',
+- "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
+ ])
+
+ env.Append(CPPFLAGS = '-fno-strict-aliasing')
+@@ -154,7 +154,7 @@ objFiles = env.SharedObject(sources)
+ objFilesC = env_no_c11.SharedObject(csources)
+
+ env.Append( LIBPATH = [
+- "/usr/lib",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib",
+ env['CXL_common_dir'] + "/Lib/Ext/zlib/1.2.8/bin/x64/ZlibStatRelease/"
+ ])
+
+diff --git a/Common/Src/AMDTOSWrappers/SConscriptHSA b/Common/Src/AMDTOSWrappers/SConscriptHSA
+index 4e8423c..341205b 100755
+--- a/Common/Src/AMDTOSWrappers/SConscriptHSA
++++ b/Common/Src/AMDTOSWrappers/SConscriptHSA
+@@ -14,8 +14,8 @@ env.Append( CPPPATH = [
+ "./src/",
+ "./Include/",
+ env['HWDBG_commonproj_dir'],
+- "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
+- "/usr/include/",
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
++ env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/",
+ ])
+
+ # osMessageBox, osDesktop
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0006-modify-compiler_base_flags.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0006-modify-compiler_base_flags.patch
new file mode 100644
index 00000000..f085631c
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0006-modify-compiler_base_flags.patch
@@ -0,0 +1,28 @@
+From a258f5aac8d3bc639ff7afa4a0c4f17ab23f353a Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Fri, 7 Oct 2016 17:10:51 +0500
+Subject: [PATCH] modify compiler_base_flags
+
+Omit warning/error on unused and uninitialized variables.
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ Common/Src/SCons/CXL_init.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Common/Src/SCons/CXL_init.py b/Common/Src/SCons/CXL_init.py
+index 0672013..d9e3710 100755
+--- a/Common/Src/SCons/CXL_init.py
++++ b/Common/Src/SCons/CXL_init.py
+@@ -200,7 +200,7 @@ def initInstallDirs (env) :
+ env['ENV']['CXL_webhelp_dir'] = env['CXL_webhelp_dir']
+
+ def initCompilerFlags (env) :
+- compiler_base_flags = " -Wall -Werror -Wextra -g -fmessage-length=0 -Wno-unknown-pragmas -pthread -std=c++11 -D_LINUX"
++ compiler_base_flags = " -Wall -Werror -Wextra -g -fmessage-length=0 -Wno-unknown-pragmas -Wno-unused-variable -Wno-maybe-uninitialized -pthread -std=c++11 -D_LINUX -D_GLIBCXX_USE_CXX11_ABI=0"
+ linker_base_flags = ''
+
+ if (env['CXL_build'] == 'debug'):
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0007-donot-use-the-local-copy-of-libstdc.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0007-donot-use-the-local-copy-of-libstdc.patch
new file mode 100644
index 00000000..baf63dd6
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0007-donot-use-the-local-copy-of-libstdc.patch
@@ -0,0 +1,46 @@
+From 4ae524d973475da461a092ea969daf4f89c9b69c Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Mon, 10 Oct 2016 16:43:16 +0500
+Subject: [PATCH] donot use the local copy of libstdc++
+
+For cross compilation it make more sense to not use the
+local copy of precompiled libstdc++ and it also resolves
+the build issues of undefined references,
+_M_start_thread,
+__throw_out_of_range_fmt,
+__cxa_throw_bad_array_new_length,
+std::logic_error::logic_error(char const*)
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ CodeXL/SConstruct | 1 -
+ CodeXL/Utils/AMDTSystemInformationHelper/Sconstruct | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/CodeXL/SConstruct b/CodeXL/SConstruct
+index 8923020..e742ad3 100755
+--- a/CodeXL/SConstruct
++++ b/CodeXL/SConstruct
+@@ -65,7 +65,6 @@ initQt4 (CXL_env)
+ initTinyXml (CXL_env)
+ initQScintilla (CXL_env)
+ initQCustomPlot (CXL_env)
+-initStdc(CXL_env)
+ initJava(CXL_env)
+ initBoost(CXL_env)
+
+diff --git a/CodeXL/Utils/AMDTSystemInformationHelper/Sconstruct b/CodeXL/Utils/AMDTSystemInformationHelper/Sconstruct
+index cff9153..52ec223 100755
+--- a/CodeXL/Utils/AMDTSystemInformationHelper/Sconstruct
++++ b/CodeXL/Utils/AMDTSystemInformationHelper/Sconstruct
+@@ -46,7 +46,6 @@ initCXLBuild (CXL_env)
+ #
+ initGtk (CXL_env)
+ initTinyXml (CXL_env)
+-initStdc(CXL_env)
+ initBoost(CXL_env)
+
+ # Set the debug/release variant data
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0008-Examples-AMDTTeaPot-fix-a-null-pointer-exception.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0008-Examples-AMDTTeaPot-fix-a-null-pointer-exception.patch
new file mode 100644
index 00000000..0c95e4f6
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0008-Examples-AMDTTeaPot-fix-a-null-pointer-exception.patch
@@ -0,0 +1,33 @@
+From 50d21ce53601e97320ad1410f8e4f7275e9b4f5b Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Mon, 17 Oct 2016 17:39:12 +0500
+Subject: [PATCH] Examples/AMDTTeaPot: fix a null pointer exception
+
+Check that whether _pAMDTTeapotOGLCanvas is initialized or
+not before calling it method onSize, otherwise it will generate
+NULL pointer exception or segmentation fault.
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/src/GLWindow.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/src/GLWindow.cpp b/CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/src/GLWindow.cpp
+index d2755a2..4c7f6fa 100755
+--- a/CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/src/GLWindow.cpp
++++ b/CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/src/GLWindow.cpp
+@@ -127,7 +127,10 @@ void GLWindow::draw()
+ //
+ void GLWindow::resize(int X, int Y, int W, int H)
+ {
+- _pAMDTTeapotOGLCanvas->onSize(W, H);
++ if (NULL != _pAMDTTeapotOGLCanvas)
++ {
++ _pAMDTTeapotOGLCanvas->onSize(W, H);
++ }
+ swap_buffers();
+ Fl_Gl_Window::resize(X, Y, W, H);
+ }
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0009-remove-remote-agent-dependency-on-UI-components.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0009-remove-remote-agent-dependency-on-UI-components.patch
new file mode 100644
index 00000000..4b4eb3ab
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0009-remove-remote-agent-dependency-on-UI-components.patch
@@ -0,0 +1,33 @@
+From 93de63cac7192cde1fcfa880c22614039d04f220 Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Tue, 18 Oct 2016 18:52:00 +0500
+Subject: [PATCH] remove remote agent dependency on UI components
+
+CXLRemoteDebuggingServer is dependent on the FrameworkComponents,
+and FrameworkComponents also includes the UI components that are
+not required for remote agent so remove the UI components from
+FrameworkComponents for the time being. Proper fix would be divide
+the FrameworkComponents into two subset, one will include the
+non UI components and second will include the UI components.
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ CodeXL/SConstruct | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CodeXL/SConstruct b/CodeXL/SConstruct
+index e742ad3..d469d98 100755
+--- a/CodeXL/SConstruct
++++ b/CodeXL/SConstruct
+@@ -185,7 +185,7 @@ FrameworkComponents += Application_Obj
+ # This depends upon everything built to date
+ Application_Obj = SConscript('App/SConscript', variant_dir=obj_variant_dir+'/AMDCodeXL', duplicate=0)
+ CXL_env.Depends(Application_Obj, FrameworkComponents)
+-FrameworkComponents += Application_Obj
++#FrameworkComponents += Application_Obj
+
+ SharedProf_Obj = SConscript('Components/AMDTSharedProfiling/SConscript', variant_dir=obj_variant_dir+'/AMDTSharedProfiling', duplicate=0)
+ CXL_env.Depends(SharedProf_Obj, FrameworkComponents)
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0010-fix-CXL_env-update-code-position.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0010-fix-CXL_env-update-code-position.patch
new file mode 100644
index 00000000..f2b3a849
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0010-fix-CXL_env-update-code-position.patch
@@ -0,0 +1,71 @@
+From ecb10eb6b59d46051f74cdd07e694e459a84e266 Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Wed, 19 Oct 2016 16:05:08 +0500
+Subject: [PATCH] fix CXL_env update code position
+
+In CodeXL/Components/GpuProfiling/Build/SConstruct
+the position of code that was added to update the scons
+consturction environment, was incorrect.
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ CodeXL/Components/GpuProfiling/Build/SConstruct | 36 ++++++++++++-------------
+ 1 file changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/CodeXL/Components/GpuProfiling/Build/SConstruct b/CodeXL/Components/GpuProfiling/Build/SConstruct
+index 94f5b6a..a2e648f 100755
+--- a/CodeXL/Components/GpuProfiling/Build/SConstruct
++++ b/CodeXL/Components/GpuProfiling/Build/SConstruct
+@@ -13,24 +13,6 @@ from CXL_init import *
+ #
+ CXL_vars = Variables(None)
+
+-# update CXL_env as per the external environment
+-# Set defaults from environment. Note that scons doesn't cope well
+-# with multi-word CPPFLAGS/LDFLAGS/SHLINKFLAGS values; you'll have to
+-# explicitly quote them or (better yet) use the "=" form of GNU option
+-# settings.
+-
+-for key, value in os.environ.items():
+- if key in ("CFLAGS", "CCFLAGS", "LINKFLAGS"):
+- CXL_env.Replace(**{key: Split(os.getenv(key))})
+- elif key in ("LDFLAGS", "SHLINKFLAGS"):
+- pass
+- else:
+- CXL_env.Replace(**{key: os.getenv(key)})
+-
+-for flag in ["LDFLAGS", "SHLINKFLAGS"]:
+- if os.environ.has_key(flag):
+- CXL_env.MergeFlags({flag : [os.getenv(flag)]})
+-
+ # Initial CXL_vars scons construction variables
+ initCXLVars(CXL_vars)
+
+@@ -53,6 +35,24 @@ CXL_env = Environment(
+ variables = CXL_vars,
+ ENV = os.environ)
+
++# update CXL_env as per the external environment
++# Set defaults from environment. Note that scons doesn't cope well
++# with multi-word CPPFLAGS/LDFLAGS/SHLINKFLAGS values; you'll have to
++# explicitly quote them or (better yet) use the "=" form of GNU option
++# settings.
++
++for key, value in os.environ.items():
++ if key in ("CFLAGS", "CCFLAGS", "LINKFLAGS"):
++ CXL_env.Replace(**{key: Split(os.getenv(key))})
++ elif key in ("LDFLAGS", "SHLINKFLAGS"):
++ pass
++ else:
++ CXL_env.Replace(**{key: os.getenv(key)})
++
++for flag in ["LDFLAGS", "SHLINKFLAGS"]:
++ if os.environ.has_key(flag):
++ CXL_env.MergeFlags({flag : [os.getenv(flag)]})
++
+ # CXL build initialization
+ initCXLBuild (CXL_env)
+
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0011-tune-gpu-profiler-backend-metadata-for-cross-compila.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0011-tune-gpu-profiler-backend-metadata-for-cross-compila.patch
new file mode 100644
index 00000000..8c3989ab
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0011-tune-gpu-profiler-backend-metadata-for-cross-compila.patch
@@ -0,0 +1,43 @@
+From 639736601b7b546396867874cd5d600b84a13e79 Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Wed, 19 Oct 2016 16:49:40 +0500
+Subject: [PATCH] tune gpu profiler backend metadata for cross compilation
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ CodeXL/Components/GpuProfiling/Build/Common.mk | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/CodeXL/Components/GpuProfiling/Build/Common.mk b/CodeXL/Components/GpuProfiling/Build/Common.mk
+index 0cf1431..4ab2d12 100755
+--- a/CodeXL/Components/GpuProfiling/Build/Common.mk
++++ b/CodeXL/Components/GpuProfiling/Build/Common.mk
+@@ -1,13 +1,13 @@
+-CC = g++
++CC = $(CXX)
+ OPTIMIZE = -O3 -DNDEBUG
+ DEBUG_CFLAGS = -g -O0 -D_DEBUG
+-ADDL_LINKFLAGS =
++ADDL_LINKFLAGS = $(LDFLAGS)
+ LINKFLAGS_EXE = $(ADDL_LINKFLAGS)
+ LINKFLAGS_SO = -shared -Wl,-z,defs $(ADDL_LINKFLAGS)
+ PLATFORM_CFLAG =
+ PLATFORM_LFLAG =
+ TARGET_SUFFIX =
+-ADDL_CFLAGS =
++ADDL_CFLAGS = $(CXXFLAGS)
+ CFLAGS = $(OPTIMIZE) -std=c++11 -fPIC -Wall -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-non-virtual-dtor -Wno-conversion-null -Werror -msse $(PLATFORM_CFLAG) $(ADDL_CFLAGS)
+ HSAFDN_CFLAGS =
+ PLATFORM_DIR = x64
+@@ -25,7 +25,7 @@ OBJ_DIR = $(BASE_OBJDIR)/$(DEBUG_RELEASE)$(INTERNAL_PUBLIC)/$(PLATFORM_DIR)
+ # Build defines
+ BASE_DEFINES = -D_LINUX -DUSE_POINTER_SINGLETON
+ ADDL_DEFINES =
+-ADDITIONAL_COMPILER_DEFINES_FROM_BUILD_SCRIPT =
++ADDITIONAL_COMPILER_DEFINES_FROM_BUILD_SCRIPT = -D_GLIBCXX_USE_CXX11_ABI=0
+ BUILD_DEFINES = -DGDT_PUBLIC -DGDT_BUILD_SUFFIX=\"\"
+ PLATFORM_DEFINES = -DGDT_PLATFORM_SUFFIX=\"\"
+ DEBUG_DEFINES = -DGDT_DEBUG_SUFFIX=\"\"
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0012-pwrprof-driver-tune-metadata-for-crosscompile.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0012-pwrprof-driver-tune-metadata-for-crosscompile.patch
new file mode 100644
index 00000000..bf128c9b
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0012-pwrprof-driver-tune-metadata-for-crosscompile.patch
@@ -0,0 +1,21 @@
+diff --git a/CodeXL/Components/PowerProfiling/Backend/AMDTPowerProfilingDrivers/Linux/Makefile b/CodeXL/Components/PowerProfiling/Backend/AMDTPowerProfilingDrivers/Linux/Makefile
+index 1c4323b..b609761 100755
+--- a/CodeXL/Components/PowerProfiling/Backend/AMDTPowerProfilingDrivers/Linux/Makefile
++++ b/CodeXL/Components/PowerProfiling/Backend/AMDTPowerProfilingDrivers/Linux/Makefile
+@@ -52,11 +52,14 @@ ${MODULE_NAME}-objs := src/AMDTPwrProfHwaccess.o src/AMDTPwrProfHelper.o src/AM
+
+ # make
+ all:
+- make -C /lib/modules/$(KERNEL_VERSION)/build M=$(PWD) $(MAKE_OPTS) EXTRA_CFLAGS="$(EXTRA_CFLAGS)" modules
++ $(MAKE) -C $(KERNEL_SRC) M=$(PWD) $(MAKE_OPTS) EXTRA_CFLAGS="$(EXTRA_CFLAGS)" modules
+
+ # make clean
+ clean:
+- make -C /lib/modules/$(KERNEL_VERSION)/build M=$(PWD) $(MAKE_OPTS) EXTRA_CFLAGS="$(EXTRA_CFLAGS)" clean
++ $(MAKE) -C $(KERNEL_SRC) M=$(PWD) $(MAKE_OPTS) EXTRA_CFLAGS="$(EXTRA_CFLAGS)" clean
++
++modules_install:
++ $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules_install
+
+ # make install
+ install:
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0013-do-not-use-local-libGLEW.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0013-do-not-use-local-libGLEW.patch
new file mode 100644
index 00000000..9b68f606
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0013-do-not-use-local-libGLEW.patch
@@ -0,0 +1,55 @@
+From 764b1b29ab720fc3fed6e2f183facf43e69d8ed5 Mon Sep 17 00:00:00 2001
+From: Michael <michael_powell@mentor.com>
+Date: Thu, 13 Oct 2016 08:38:01 -0700
+Subject: [PATCH] do not use local libGLEW
+
+---
+ Common/Src/SCons/CXL_init.py | 24 ++++++++++++++++--------
+ 1 file changed, 16 insertions(+), 8 deletions(-)
+
+diff --git a/Common/Src/SCons/CXL_init.py b/Common/Src/SCons/CXL_init.py
+index 199c813..af3dfac
+--- a/Common/Src/SCons/CXL_init.py
++++ b/Common/Src/SCons/CXL_init.py
+@@ -75,6 +75,13 @@ def initCXLVars (CXL_vars) :
+ default = '',
+ allowed_values = ('true', ''))
+
++ # CxL support for internal libGLEW
++ CXL_vars.Add(
++ key = 'CXL_USE_INTERNAL_LIB_GLEW',
++ help = 'Support internal libGLEW',
++ default = 'true',
++ allowed_values = ('true', ''))
++
+ # CxL support for system_boost
+ CXL_vars.Add(
+ key = 'CXL_boost_dir',
+@@ -568,16 +575,17 @@ def initAMDOpenCL (env) :
+ copySharedLibrary(env, file, amdopencl_lib, env['CXL_lib_dir'])
+
+ def initGLEW (env) :
+- amdglew_dir = env['CXL_common_dir'] + '/Lib/Ext/glew/1.9.0/Build/Ubuntu'
++ if (env['CXL_USE_INTERNAL_LIB_GLEW'] == 'true'):
++ amdglew_dir = env['CXL_common_dir'] + '/Lib/Ext/glew/1.9.0/Build/Ubuntu'
+
+- if (env['CXL_arch'] == 'x86_64'):
+- amdglew_dir = amdglew_dir + '/x86_64/'
+- else:
+- amdglew_dir = amdglew_dir + '/x86/'
++ if (env['CXL_arch'] == 'x86_64'):
++ amdglew_dir = amdglew_dir + '/x86_64/'
++ else:
++ amdglew_dir = amdglew_dir + '/x86/'
+
+- copySharedLibrary(env, "libGLEW.so.1.9.0", amdglew_dir, env['CXL_lib_dir'])
+- copySharedLibrary(env, "libGLEW.so.1.9", amdglew_dir, env['CXL_lib_dir'])
+- copySharedLibrary(env, "libGLEW.so", amdglew_dir, env['CXL_lib_dir'])
++ copySharedLibrary(env, "libGLEW.so.1.9.0", amdglew_dir, env['CXL_lib_dir'])
++ copySharedLibrary(env, "libGLEW.so.1.9", amdglew_dir, env['CXL_lib_dir'])
++ copySharedLibrary(env, "libGLEW.so", amdglew_dir, env['CXL_lib_dir'])
+
+ def initBoost (env) :
+ if (env['CXL_boost_dir'] == ''):
+--
+2.5.5
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0014-do-not-use-local-tinyxml.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0014-do-not-use-local-tinyxml.patch
new file mode 100644
index 00000000..896dfd38
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0014-do-not-use-local-tinyxml.patch
@@ -0,0 +1,107 @@
+From a0af2e4f825e4036472fe8047cfb470528fe9a10 Mon Sep 17 00:00:00 2001
+From: Michael <michael_powell@mentor.com>
+Date: Wed, 26 Oct 2016 20:46:16 -0700
+Subject: [PATCH] do not use local tinyxml
+
+---
+ Common/Src/SCons/CXL_init.py | 29 +++++++++++++++++++++++------
+ CodeXL/Components/Graphics/Server/VulkanEnv/SConscript | 4 ++--
+ CodeXL/Components/Graphics/Server/VulkanServer/SConscript | 4 ++--
+ 3 files changed, 33 insertions(+), 4 deletions(-)
+
+diff --git a/Common/Src/SCons/CXL_init.py b/Common/Src/SCons/CXL_init.py
+index af3dfac..5cb1336 100755
+--- a/Common/Src/SCons/CXL_init.py
++++ b/Common/Src/SCons/CXL_init.py
+@@ -82,6 +82,18 @@ def initCXLVars (CXL_vars) :
+ default = 'true',
+ allowed_values = ('true', ''))
+
++ # CxL support for external tinyxml
++ CXL_vars.Add(
++ key = 'CXL_tinyxml_dir',
++ help = 'Specify tinyXML directory to use',
++ default = '',)
++
++ # CxL support for external tinyxml include
++ CXL_vars.Add(
++ key = 'CXL_tinyxml_inc_dir',
++ help = 'Specify tinyXML include directory to use',
++ default = '',)
++
+ # CxL support for system_boost
+ CXL_vars.Add(
+ key = 'CXL_boost_dir',
+@@ -465,16 +477,21 @@ def initStdc(env):
+ copySharedLibrary(env, file, stdclib_lib, env['CXL_lib_dir'])
+
+ def initTinyXml (env) :
+- dbgSuffix = ''
++ if (env['CXL_tinyxml_dir'] == ''):
++ tinyxml_dir = env['CXL_common_dir'] + '/Lib/Ext/tinyxml/2.6.2'
++ tinyxml_inc = tinyxml_dir
++ tinyxml_lib = tinyxml_dir + '/Build/CentOS64/' + env['CXL_build'] + '/' + env['CXL_arch']
++ tinyxml_libs = ['tinyXML']
++ else:
++ tinyxml_dir = env['CXL_tinyxml_dir']
++ tinyxml_lib = tinyxml_dir
++ tinyxml_inc = env['CXL_tinyxml_inc_dir']
++ tinyxml_libs = ['tinyxml']
+
+- tinyxml_dir = env['CXL_common_dir'] + '/Lib/Ext/tinyxml/2.6.2'
+- tinyxml_inc = tinyxml_dir
+- tinyxml_lib = tinyxml_dir + '/Build/CentOS64/' + env['CXL_build'] + '/' + env['CXL_arch']
+ libsrc = []
+- tinyxml_libs = ['tinyXML']
+ libsrc.append(tinyxml_libs)
+
+ env.Append(CXL_TinyXML_inc = [tinyxml_dir, tinyxml_inc])
+ env.Append(CXL_TinyXML_libs = tinyxml_libs)
+ env.Append(CXL_TinyXML_libpath = tinyxml_lib)
+ # We do not need to install anything - it is just a single archive
+diff --git a/CodeXL/Components/Graphics/Server/VulkanEnv/SConscript b/CodeXL/Components/Graphics/Server/VulkanEnv/SConscript
+index e07a583..2ba2d20 100644
+--- a/CodeXL/Components/Graphics/Server/VulkanEnv/SConscript
++++ b/CodeXL/Components/Graphics/Server/VulkanEnv/SConscript
+@@ -31,7 +31,7 @@ linker_flags = ' -Wl,-z,defs '
+ env.Prepend(LINKFLAGS = linker_flags)
+
+ # These need to be in their dependency order, with most derived first
+-env['LIBS'] = \
++env.Append (LIBS = \
+ [
+ #local libraries
+ "libCXLGraphicsServerCommon",
+@@ -41,7 +41,7 @@ env['LIBS'] = \
+ "dl",
+ "rt",
+ "pthread",
+-]
++])
+
+ # Vulkan specific source files
+ sources = \
+diff --git a/CodeXL/Components/Graphics/Server/VulkanServer/SConscript b/CodeXL/Components/Graphics/Server/VulkanServer/SConscript
+index 28ca379..5b2266d 100644
+--- a/CodeXL/Components/Graphics/Server/VulkanServer/SConscript
++++ b/CodeXL/Components/Graphics/Server/VulkanServer/SConscript
+@@ -51,7 +51,7 @@ linker_flags = ' -Wl,-z,defs '
+ env.Prepend(LINKFLAGS = linker_flags)
+
+ # These need to be in their dependency order, with most derived first
+-env['LIBS'] = \
++env.Append (LIBS = \
+ [
+ #local libraries
+ "libCXLGraphicsServerCommon",
+@@ -65,7 +65,7 @@ env['LIBS'] = \
+ "dl",
+ "rt",
+ "pthread",
+-]
++])
+
+ # Vulkan specific source files
+ sources = \
+--
+2.5.5
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0015-add-build-control-flag-CXL_RA_only.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0015-add-build-control-flag-CXL_RA_only.patch
new file mode 100644
index 00000000..770d89cb
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0015-add-build-control-flag-CXL_RA_only.patch
@@ -0,0 +1,93 @@
+From d353057bd4fa5123a24c721922c1420934e143c9 Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Fri, 28 Oct 2016 16:59:22 +0500
+Subject: [PATCH] add build control flag CXL_RA_only
+
+CXL_RA_only flag allow to tweak the build to become
+suitable for Remote Agent only build, as UI based
+components will not be required for remote agent
+only build. Currently just exclude the UI based components
+from the framework when we are doing a remote
+agent only build.
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ CodeXL/SConstruct | 18 ++++++++++++------
+ Common/Src/SCons/CXL_init.py | 7 +++++++
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+diff --git a/CodeXL/SConstruct b/CodeXL/SConstruct
+index d469d98..9bbbcb5 100755
+--- a/CodeXL/SConstruct
++++ b/CodeXL/SConstruct
+@@ -151,7 +151,8 @@ FrameworkComponents = []
+ BaseTools_Obj = SConscript('../Common/Src/AMDTBaseTools/SConscript', variant_dir=obj_variant_dir+'/AMDTBaseTools', duplicate=0)
+ FrameworkComponents += BaseTools_Obj
+ Assertion_Obj = SConscript('../Common/Src/AMDTAssertionHandlers/SConscript', variant_dir=obj_variant_dir+'/AMDTAssertionHandlers', duplicate=0)
+-FrameworkComponents += Assertion_Obj
++if CXL_env['CXL_RA_only'] != 'true' :
++ FrameworkComponents += Assertion_Obj
+
+ OSWrappers_Obj = SConscript('../Common/Src/AMDTOSWrappers/SConscript', variant_dir=obj_variant_dir+'/AMDTOSWrappers', duplicate=0)
+ CXL_env.Depends(OSWrappers_Obj, BaseTools_Obj)
+@@ -167,7 +168,8 @@ FrameworkComponents += APIClasses_Obj
+
+ AppComponents_Obj = SConscript('../Common/Src/AMDTApplicationComponents/SConscript', variant_dir=obj_variant_dir+'/AMDTApplicationComponents', duplicate=0)
+ CXL_env.Depends(AppComponents_Obj, APIClasses_Obj + OSWrappers_Obj + OSAPIWrappers_Obj + BaseTools_Obj)
+-FrameworkComponents += AppComponents_Obj
++if CXL_env['CXL_RA_only'] != 'true' :
++ FrameworkComponents += AppComponents_Obj
+
+ AMDTRemoteClient_Obj = SConscript('Remote/AMDTRemoteClient/SConscript', variant_dir=obj_variant_dir+'/AMDTRemoteClient', duplicate=0)
+ CXL_env.Depends(AMDTRemoteClient_Obj, OSWrappers_Obj + BaseTools_Obj)
+@@ -175,21 +177,25 @@ FrameworkComponents += AMDTRemoteClient_Obj
+
+ AppFramework_Obj = SConscript('AMDTApplicationFramework/SConscript', variant_dir=obj_variant_dir+'/AMDTApplicationFramework', duplicate=0)
+ CXL_env.Depends(AppFramework_Obj, APIClasses_Obj + OSWrappers_Obj + OSAPIWrappers_Obj + BaseTools_Obj + AMDTRemoteClient_Obj)
+-FrameworkComponents += AppFramework_Obj
++if CXL_env['CXL_RA_only'] != 'true' :
++ FrameworkComponents += AppFramework_Obj
+
+ # This depends upon everything built to date
+ Application_Obj = SConscript('../Common/Src/AMDTApplication/SConscript', variant_dir=obj_variant_dir+'/AMDTApplication', duplicate=0)
+ CXL_env.Depends(Application_Obj, FrameworkComponents)
+-FrameworkComponents += Application_Obj
++if CXL_env['CXL_RA_only'] != 'true' :
++ FrameworkComponents += Application_Obj
+
+ # This depends upon everything built to date
+ Application_Obj = SConscript('App/SConscript', variant_dir=obj_variant_dir+'/AMDCodeXL', duplicate=0)
+ CXL_env.Depends(Application_Obj, FrameworkComponents)
+-#FrameworkComponents += Application_Obj
++if CXL_env['CXL_RA_only'] != 'true' :
++ FrameworkComponents += Application_Obj
+
+ SharedProf_Obj = SConscript('Components/AMDTSharedProfiling/SConscript', variant_dir=obj_variant_dir+'/AMDTSharedProfiling', duplicate=0)
+ CXL_env.Depends(SharedProf_Obj, FrameworkComponents)
+-FrameworkComponents += SharedProf_Obj
++if CXL_env['CXL_RA_only'] != 'true' :
++ FrameworkComponents += SharedProf_Obj
+
+ CXL_env.Depends(FrameworkComponents,
+ CXL_env['CXL_Images_install'] +
+diff --git a/Common/Src/SCons/CXL_init.py b/Common/Src/SCons/CXL_init.py
+index d1ca678..a2443ac 100755
+--- a/Common/Src/SCons/CXL_init.py
++++ b/Common/Src/SCons/CXL_init.py
+@@ -100,6 +100,13 @@ def initCXLVars (CXL_vars) :
+ help = 'Specify Boost directory to use',
+ default = '',)
+
++ # CxL support for remote agent only build
++ CXL_vars.Add(
++ key = 'CXL_RA_only',
++ help = 'Support for Remote Agent only build, exclude all UI components',
++ default = '',
++ allowed_values = ('true', ''))
++
+ def initJava (env) :
+ useJava = os.getenv('JAVA_HOME', '')
+ if (useJava != ''):
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0016-add-build-control-flag-CXL_sysroot_dir.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0016-add-build-control-flag-CXL_sysroot_dir.patch
new file mode 100644
index 00000000..0da61abe
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0016-add-build-control-flag-CXL_sysroot_dir.patch
@@ -0,0 +1,278 @@
+From 2bfad59e4f0ec6c9a84ef7d4395fa53700518bd0 Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Fri, 28 Oct 2016 19:19:22 +0500
+Subject: [PATCH] add build control flag CXL_sysroot_dir
+
+For cross compilation specifying the sysroot directory
+is very handy as the sysroot specifies path where on
+build system the build artifacts or staging header and
+library files are located.
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ CodeXL/App/SConscript | 2 +-
+ .../AMDTRemoteDebuggingServer/SConscript | 4 ++--
+ CodeXL/Components/Graphics/GPS_init.py | 20 ++++++++--------
+ CodeXL/Components/Graphics/SConstruct | 6 ++---
+ CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/SConscript | 12 +++++-----
+ .../Utils/AMDTSystemInformationHelper/SConscript | 2 +-
+ Common/Src/AMDTApplication/SConscript | 2 +-
+ Common/Src/AMDTApplicationComponents/SConscript | 2 +-
+ Common/Src/AMDTOSAPIWrappers/SConscript | 6 ++---
+ Common/Src/AMDTOSWrappers/SConscript | 4 ++--
+ Common/Src/AMDTOSWrappers/SConscriptHSA | 4 ++--
+ Common/Src/SCons/CXL_init.py | 28 +++++++++++++---------
+ 12 files changed, 49 insertions(+), 43 deletions(-)
+
+diff --git a/CodeXL/App/SConscript b/CodeXL/App/SConscript
+index 4924c4a..e5d39a2 100755
+--- a/CodeXL/App/SConscript
++++ b/CodeXL/App/SConscript
+@@ -15,7 +15,7 @@ env.Append( CPPPATH = [
+ env['CXL_commonproj_dir'],
+ env['CXL_commonproj_dir'] + "/AMDTOSWrappers/Include",
+ env['CXL_commonproj_dir'] + '/../../CodeXL',
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
++ env['CXL_sysroot_dir'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
+ ])
+ UseBoost(env)
+ UseGtk(env)
+diff --git a/CodeXL/Components/GpuDebugging/AMDTRemoteDebuggingServer/SConscript b/CodeXL/Components/GpuDebugging/AMDTRemoteDebuggingServer/SConscript
+index ffe3387..c330564 100755
+--- a/CodeXL/Components/GpuDebugging/AMDTRemoteDebuggingServer/SConscript
++++ b/CodeXL/Components/GpuDebugging/AMDTRemoteDebuggingServer/SConscript
+@@ -27,8 +27,8 @@ sources = \
+ ]
+
+ env.Append( LIBPATH = [
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu",
++ env['CXL_sysroot_dir'] + "/usr/lib",
++ env['CXL_sysroot_dir'] + "/usr/lib/x86_64-linux-gnu",
+ env['CXL_common_dir'] + "/Lib/Ext/zlib/1.2.8/bin/x64/ZlibStatRelease/"
+ ])
+
+diff --git a/CodeXL/Components/Graphics/GPS_init.py b/CodeXL/Components/Graphics/GPS_init.py
+index 805191d..9563ad6 100644
+--- a/CodeXL/Components/Graphics/GPS_init.py
++++ b/CodeXL/Components/Graphics/GPS_init.py
+@@ -47,16 +47,16 @@ def ParseCommandLine(env, buildInternal):
+ # initialize Gtk library
+ def initGtk(env):
+ env.Append(BASE_PATH = [
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/cairo",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/pango-1.0",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/atk-1.0",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gtk-2.0",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/glib-2.0",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib64/gtk-2.0/include",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib64/glib-2.0/include/",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu/glib-2.0/include",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu/gtk-2.0/include",
++ env['CXL_sysroot_dir'] + "/usr/include/cairo",
++ env['CXL_sysroot_dir'] + "/usr/include/pango-1.0",
++ env['CXL_sysroot_dir'] + "/usr/include/atk-1.0",
++ env['CXL_sysroot_dir'] + "/usr/include/gtk-2.0",
++ env['CXL_sysroot_dir'] + "/usr/include/gdk-pixbuf-2.0",
++ env['CXL_sysroot_dir'] + "/usr/include/glib-2.0",
++ env['CXL_sysroot_dir'] + "/usr/lib64/gtk-2.0/include",
++ env['CXL_sysroot_dir'] + "/usr/lib64/glib-2.0/include/",
++ env['CXL_sysroot_dir'] + "/usr/lib/x86_64-linux-gnu/glib-2.0/include",
++ env['CXL_sysroot_dir'] + "/usr/lib/x86_64-linux-gnu/gtk-2.0/include",
+ ])
+
+ ##########################################################################################
+diff --git a/CodeXL/Components/Graphics/SConstruct b/CodeXL/Components/Graphics/SConstruct
+index d2a6cca..3e8d495 100644
+--- a/CodeXL/Components/Graphics/SConstruct
++++ b/CodeXL/Components/Graphics/SConstruct
+@@ -154,9 +154,9 @@ GPS_env['GPS_PATH'] = \
+ # Additional linker library paths
+ GPS_env['GPS_LIBPATH'] = \
+ [
+- env['PKG_CONFIG_SYSROOT_DIR'] + '/usr/' + GPS_env.libConfig,
+- env['PKG_CONFIG_SYSROOT_DIR'] + '/usr/lib',
+- env['PKG_CONFIG_SYSROOT_DIR'] + '/usr/lib/' + GPS_env.gnuConfig,
++ env['CXL_sysroot_dir'] + '/usr/' + GPS_env.libConfig,
++ env['CXL_sysroot_dir'] + '/usr/lib',
++ env['CXL_sysroot_dir'] + '/usr/lib/' + GPS_env.gnuConfig,
+ '../../obj/' + GPS_env.platformPath + '/' + GPS_env.rootFolderName + '/Server/Common',
+ '../../obj/' + GPS_env.platformPath + '/' + GPS_env.rootFolderName,
+ GPS_env.CommonPath + '../../Common/Lib/Ext/Boost/boost_' + GPS_env.BoostVersion + '/lib/RHEL6/' + GPS_env.extConfig,
+diff --git a/CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/SConscript b/CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/SConscript
+index 0c6d61c..eb29802 100755
+--- a/CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/SConscript
++++ b/CodeXL/Examples/AMDTTeaPot/AMDTTeaPot/SConscript
+@@ -21,16 +21,16 @@ env.Append( CPPPATH = [
+ "../AMDTTeaPotLib",
+ env['CXL_commonproj_dir'] + "/AMDTOSWrappers/Include",
+ env['CXL_commonproj_dir'] + "/AMDT/Include",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/GL",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/freetype2",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/libpng12",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu/glib-2.0/include",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/freetype2",
++ env['CXL_sysroot_dir'] + "/usr/include/GL",
++ env['CXL_sysroot_dir'] + "/usr/include/freetype2",
++ env['CXL_sysroot_dir'] + "/usr/include/libpng12",
++ env['CXL_sysroot_dir'] + "/usr/lib/x86_64-linux-gnu/glib-2.0/include",
++ env['CXL_sysroot_dir'] + "/usr/include/freetype2",
+
+ ])
+
+ env.Append( LIBPATH = [
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu/mesa",
++ env['CXL_sysroot_dir'] + "/usr/lib/x86_64-linux-gnu/mesa",
+ env['CXL_Examples_dir'] + "/release",
+ ])
+
+diff --git a/CodeXL/Utils/AMDTSystemInformationHelper/SConscript b/CodeXL/Utils/AMDTSystemInformationHelper/SConscript
+index a46a66d..ce297a4 100755
+--- a/CodeXL/Utils/AMDTSystemInformationHelper/SConscript
++++ b/CodeXL/Utils/AMDTSystemInformationHelper/SConscript
+@@ -23,7 +23,7 @@ env.Append( CPPPATH = [
+ # env.Append(CPPFLAGS = '-fno-strict-aliasing')
+
+ env.Append( LIBPATH = [
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib",
++ env['CXL_sysroot_dir'] + "/usr/lib",
+ ])
+
+ sources = \
+diff --git a/Common/Src/AMDTApplication/SConscript b/Common/Src/AMDTApplication/SConscript
+index f284f23..f0993df 100755
+--- a/Common/Src/AMDTApplication/SConscript
++++ b/Common/Src/AMDTApplication/SConscript
+@@ -15,7 +15,7 @@ env.Append( CPPPATH = [
+ env['CXL_commonproj_dir'],
+ env['CXL_commonproj_dir'] + "/AMDTOSWrappers/Include",
+ env['CXL_commonproj_dir'] + '/../../CodeXL',
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
++ env['CXL_sysroot_dir'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
+ ])
+
+ UseGtk(env)
+diff --git a/Common/Src/AMDTApplicationComponents/SConscript b/Common/Src/AMDTApplicationComponents/SConscript
+index 97bf9ff..8f5283d 100755
+--- a/Common/Src/AMDTApplicationComponents/SConscript
++++ b/Common/Src/AMDTApplicationComponents/SConscript
+@@ -15,7 +15,7 @@ env.Append( CPPPATH = [
+ env['CXL_commonproj_dir'],
+ env['CXL_commonproj_dir'] + "/AMDTOSAPIWrappers/Include",
+ env['CXL_commonproj_dir'] + '/../../CodeXL',
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
++ env['CXL_sysroot_dir'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
+ ])
+
+
+diff --git a/Common/Src/AMDTOSAPIWrappers/SConscript b/Common/Src/AMDTOSAPIWrappers/SConscript
+index 0a2cab7..03934fd 100644
+--- a/Common/Src/AMDTOSAPIWrappers/SConscript
++++ b/Common/Src/AMDTOSAPIWrappers/SConscript
+@@ -17,7 +17,7 @@ env.Append( CPPPATH = [
+ env['CXL_common_dir'] + '/Src/HSAUtils',
+ '/opt/rocm/hsa/include', # A dependency of /Src/HSAUtils
+ env['CXL_common_dir'] + '/Src/TSingleton',
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
++ env['CXL_sysroot_dir'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
+ ])
+
+ # osMessageBox, osDesktop
+@@ -66,8 +66,8 @@ if (env['CXL_arch'] != 'x86' and env['CXL_hsa'] == 'true'):
+ objFiles = env.SharedObject(sources)
+
+ env.Append( LIBPATH = [
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu",
++ env['CXL_sysroot_dir'] + "/usr/lib",
++ env['CXL_sysroot_dir'] + "/usr/lib/x86_64-linux-gnu",
+ env['CXL_common_dir'] + "/Lib/Ext/zlib/1.2.8/bin/x64/ZlibStatRelease/"
+ ])
+
+diff --git a/Common/Src/AMDTOSWrappers/SConscript b/Common/Src/AMDTOSWrappers/SConscript
+index c8fca6c..f2134a9 100755
+--- a/Common/Src/AMDTOSWrappers/SConscript
++++ b/Common/Src/AMDTOSWrappers/SConscript
+@@ -20,7 +20,7 @@ env.Append( CPPPATH = [
+ "./Include/",
+ env['CXL_commonproj_dir'],
+ env['CXL_common_dir'] + '/Src/Miniz/',
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
++ env['CXL_sysroot_dir'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
+ ])
+
+ env.Append(CPPFLAGS = '-fno-strict-aliasing')
+@@ -154,7 +154,7 @@ objFiles = env.SharedObject(sources)
+ objFilesC = env_no_c11.SharedObject(csources)
+
+ env.Append( LIBPATH = [
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib",
++ env['CXL_sysroot_dir'] + "/usr/lib",
+ env['CXL_common_dir'] + "/Lib/Ext/zlib/1.2.8/bin/x64/ZlibStatRelease/"
+ ])
+
+diff --git a/Common/Src/AMDTOSWrappers/SConscriptHSA b/Common/Src/AMDTOSWrappers/SConscriptHSA
+index 341205b..e4f0060 100755
+--- a/Common/Src/AMDTOSWrappers/SConscriptHSA
++++ b/Common/Src/AMDTOSWrappers/SConscriptHSA
+@@ -14,8 +14,8 @@ env.Append( CPPPATH = [
+ "./src/",
+ "./Include/",
+ env['HWDBG_commonproj_dir'],
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/",
++ env['CXL_sysroot_dir'] + "/usr/include/gdk-pixbuf-2.0/", # [Suravee] Needed for Ubuntu-11.10
++ env['CXL_sysroot_dir'] + "/usr/include/",
+ ])
+
+ # osMessageBox, osDesktop
+diff --git a/Common/Src/SCons/CXL_init.py b/Common/Src/SCons/CXL_init.py
+index a2443ac..34b65ee 100755
+--- a/Common/Src/SCons/CXL_init.py
++++ b/Common/Src/SCons/CXL_init.py
+@@ -107,6 +107,12 @@ def initCXLVars (CXL_vars) :
+ default = '',
+ allowed_values = ('true', ''))
+
++ # CxL support to specify sysroot directory
++ CXL_vars.Add(
++ key = 'CXL_sysroot_dir',
++ help = 'Specify sysroot directory to use',
++ default = '',)
++
+ def initJava (env) :
+ useJava = os.getenv('JAVA_HOME', '')
+ if (useJava != ''):
+@@ -453,17 +459,17 @@ def UseQtNoGraphics(env):
+
+ def initGtk (env) :
+ env.Append(CXL_Gtk_inc_path = [
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/cairo",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/pango-1.0",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/atk-1.0",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gtk-2.0",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/gdk-pixbuf-2.0",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/glib-2.0",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib64/gtk-2.0/include",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib64/glib-2.0/include/",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu/glib-2.0/include",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/lib/x86_64-linux-gnu/gtk-2.0/include",
+- env['PKG_CONFIG_SYSROOT_DIR'] + "/usr/include/x86_64-linux-gnu/",
++ env['CXL_sysroot_dir'] + "/usr/include/cairo",
++ env['CXL_sysroot_dir'] + "/usr/include/pango-1.0",
++ env['CXL_sysroot_dir'] + "/usr/include/atk-1.0",
++ env['CXL_sysroot_dir'] + "/usr/include/gtk-2.0",
++ env['CXL_sysroot_dir'] + "/usr/include/gdk-pixbuf-2.0",
++ env['CXL_sysroot_dir'] + "/usr/include/glib-2.0",
++ env['CXL_sysroot_dir'] + "/usr/lib64/gtk-2.0/include",
++ env['CXL_sysroot_dir'] + "/usr/lib64/glib-2.0/include/",
++ env['CXL_sysroot_dir'] + "/usr/lib/x86_64-linux-gnu/glib-2.0/include",
++ env['CXL_sysroot_dir'] + "/usr/lib/x86_64-linux-gnu/gtk-2.0/include",
++ env['CXL_sysroot_dir'] + "/usr/include/x86_64-linux-gnu/",
+ ])
+ # No additional libraries needed for Gtk
+
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0017-add-tinxml-to-list-of-LIBS-for-CapturePlayer.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0017-add-tinxml-to-list-of-LIBS-for-CapturePlayer.patch
new file mode 100644
index 00000000..977ac209
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0017-add-tinxml-to-list-of-LIBS-for-CapturePlayer.patch
@@ -0,0 +1,32 @@
+From 711fcedf6a93e21408609eec74729be5106c149e Mon Sep 17 00:00:00 2001
+From: Adeel Arshad <adeel_arshad@mentor.com>
+Date: Wed, 2 Nov 2016 15:43:57 +0500
+Subject: [PATCH] add tinxml to list of LIBS for CapturePlayer
+
+Frame analyzer capture player uses the tinyxml,
+so the tinyxml library needs to be added to the
+list of the libraries on which CapturePlayer
+build is dependent.
+
+Signed-off-by: Adeel Arshad <adeel_arshad@mentor.com>
+---
+ CodeXL/Components/Graphics/Server/CapturePlayer/SConscript | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/CodeXL/Components/Graphics/Server/CapturePlayer/SConscript b/CodeXL/Components/Graphics/Server/CapturePlayer/SConscript
+index f114c62..1c74794 100644
+--- a/CodeXL/Components/Graphics/Server/CapturePlayer/SConscript
++++ b/CodeXL/Components/Graphics/Server/CapturePlayer/SConscript
+@@ -67,7 +67,8 @@ env['LIBS'] = \
+ "pthread",
+ "dl",
+ "X11",
+- "xcb"
++ "xcb",
++ "tinyxml"
+ ]
+
+ sources = [
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0018-AMDTAPIClasses-fix-build-with-gcc6.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0018-AMDTAPIClasses-fix-build-with-gcc6.patch
new file mode 100644
index 00000000..8b9df904
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0018-AMDTAPIClasses-fix-build-with-gcc6.patch
@@ -0,0 +1,121 @@
+From ca3c63d3e2859d751f9ff1d259ecff933fb8e3d7 Mon Sep 17 00:00:00 2001
+From: Awais Belal <awais_belal@mentor.com>
+Date: Wed, 16 Nov 2016 13:43:27 +0500
+Subject: [PATCH] AMDTAPIClasses: fix build with gcc6
+
+Signed-off-by: Awais Belal <awais_belal@mentor.com>
+---
+ .../AMDTAPIClasses-fix-gcc6-compile-issues.patch | 53 ++++++++++++++++++++++
+ .../AMDTAPIClasses/Include/apCLContextProperties.h | 3 +++
+ .../Src/AMDTAPIClasses/src/apOpenCLParameters.cpp | 12 ++---
+ 3 files changed, 62 insertions(+), 6 deletions(-)
+ create mode 100644 Common/Src/AMDTAPIClasses/AMDTAPIClasses-fix-gcc6-compile-issues.patch
+
+diff --git a/Common/Src/AMDTAPIClasses/AMDTAPIClasses-fix-gcc6-compile-issues.patch b/Common/Src/AMDTAPIClasses/AMDTAPIClasses-fix-gcc6-compile-issues.patch
+new file mode 100644
+index 0000000..07d30f1
+--- /dev/null
++++ b/Common/Src/AMDTAPIClasses/AMDTAPIClasses-fix-gcc6-compile-issues.patch
+@@ -0,0 +1,53 @@
++From cfe161742f62933f28845c004415a88588798470 Mon Sep 17 00:00:00 2001
++From: BogDan Vatra <bogdan@kdab.com>
++Date: Wed, 21 Sep 2016 15:30:06 +0300
++Subject: [PATCH] Fix comparation
++
++Fix gcc6 compile
++---
++ Include/apCLContextProperties.h | 3 +++
++ src/apOpenCLParameters.cpp | 12 ++++++------
++ 2 files changed, 9 insertions(+), 6 deletions(-)
++
++diff --git a/Include/apCLContextProperties.h b/Include/apCLContextProperties.h
++index 8412e26..e112424 100755
++--- a/Include/apCLContextProperties.h
+++++ b/Include/apCLContextProperties.h
++@@ -54,6 +54,9 @@ class AP_API apCLContextProperties : public apAllocatedObject
++ virtual bool readSelfFromChannel(osChannel& ipcChannel);
++
++ private:
++++#if defined __GNUC__ && __GNUC__>=6
++++ #pragma GCC diagnostic ignored "-Wignored-attributes"
++++#endif
++ typedef std::pair<cl_uint, oaCLContextProperty> apCLProperty;
++ gtVector<apCLProperty> _properties;
++ };
++diff --git a/src/apOpenCLParameters.cpp b/src/apOpenCLParameters.cpp
++index 7360063..28b1a91 100755
++--- a/src/apOpenCLParameters.cpp
+++++ b/src/apOpenCLParameters.cpp
++@@ -4913,7 +4913,7 @@ bool apCLBufferRegionParameter::compareToOther(const apParameter& other)const
++ apCLBufferRegionParameter* pParam = (apCLBufferRegionParameter*)(&other);
++ GT_IF_WITH_ASSERT(pParam != NULL)
++ {
++- retVal = ((_value.origin == pParam->_value.origin) && (_value.size == _value.size));
+++ retVal = ((_value.origin == pParam->_value.origin) && (_value.size == pParam->_value.size));
++ }
++ }
++
++@@ -5131,11 +5131,11 @@ bool apCLImageDescriptionParameter::compareToOther(const apParameter& other)cons
++ apCLImageDescriptionParameter* pParam = (apCLImageDescriptionParameter*)(&other);
++ GT_IF_WITH_ASSERT(pParam != NULL)
++ {
++- retVal = ((_value.image_type == pParam->_value.image_type) && (_value.image_width == _value.image_width) &&
++- (_value.image_height == pParam->_value.image_height) && (_value.image_depth == _value.image_depth) &&
++- (_value.image_array_size == pParam->_value.image_array_size) && (_value.image_row_pitch == _value.image_row_pitch) &&
++- (_value.image_slice_pitch == pParam->_value.image_slice_pitch) && (_value.num_mip_levels == _value.num_mip_levels) &&
++- (_value.num_samples == pParam->_value.num_samples) && (_value.buffer == _value.buffer));
+++ retVal = ((_value.image_type == pParam->_value.image_type) && (_value.image_width == pParam->_value.image_width) &&
+++ (_value.image_height == pParam->_value.image_height) && (_value.image_depth == pParam->_value.image_depth) &&
+++ (_value.image_array_size == pParam->_value.image_array_size) && (_value.image_row_pitch == pParam->_value.image_row_pitch) &&
+++ (_value.image_slice_pitch == pParam->_value.image_slice_pitch) && (_value.num_mip_levels == pParam->_value.num_mip_levels) &&
+++ (_value.num_samples == pParam->_value.num_samples) && (_value.buffer == pParam->_value.buffer));
++ }
++ }
++
+diff --git a/Common/Src/AMDTAPIClasses/Include/apCLContextProperties.h b/Common/Src/AMDTAPIClasses/Include/apCLContextProperties.h
+index 8412e26..e112424 100755
+--- a/Common/Src/AMDTAPIClasses/Include/apCLContextProperties.h
++++ b/Common/Src/AMDTAPIClasses/Include/apCLContextProperties.h
+@@ -54,6 +54,9 @@ public:
+ virtual bool readSelfFromChannel(osChannel& ipcChannel);
+
+ private:
++#if defined __GNUC__ && __GNUC__>=6
++ #pragma GCC diagnostic ignored "-Wignored-attributes"
++#endif
+ typedef std::pair<cl_uint, oaCLContextProperty> apCLProperty;
+ gtVector<apCLProperty> _properties;
+ };
+diff --git a/Common/Src/AMDTAPIClasses/src/apOpenCLParameters.cpp b/Common/Src/AMDTAPIClasses/src/apOpenCLParameters.cpp
+index 7360063..28b1a91 100755
+--- a/Common/Src/AMDTAPIClasses/src/apOpenCLParameters.cpp
++++ b/Common/Src/AMDTAPIClasses/src/apOpenCLParameters.cpp
+@@ -4913,7 +4913,7 @@ bool apCLBufferRegionParameter::compareToOther(const apParameter& other)const
+ apCLBufferRegionParameter* pParam = (apCLBufferRegionParameter*)(&other);
+ GT_IF_WITH_ASSERT(pParam != NULL)
+ {
+- retVal = ((_value.origin == pParam->_value.origin) && (_value.size == _value.size));
++ retVal = ((_value.origin == pParam->_value.origin) && (_value.size == pParam->_value.size));
+ }
+ }
+
+@@ -5131,11 +5131,11 @@ bool apCLImageDescriptionParameter::compareToOther(const apParameter& other)cons
+ apCLImageDescriptionParameter* pParam = (apCLImageDescriptionParameter*)(&other);
+ GT_IF_WITH_ASSERT(pParam != NULL)
+ {
+- retVal = ((_value.image_type == pParam->_value.image_type) && (_value.image_width == _value.image_width) &&
+- (_value.image_height == pParam->_value.image_height) && (_value.image_depth == _value.image_depth) &&
+- (_value.image_array_size == pParam->_value.image_array_size) && (_value.image_row_pitch == _value.image_row_pitch) &&
+- (_value.image_slice_pitch == pParam->_value.image_slice_pitch) && (_value.num_mip_levels == _value.num_mip_levels) &&
+- (_value.num_samples == pParam->_value.num_samples) && (_value.buffer == _value.buffer));
++ retVal = ((_value.image_type == pParam->_value.image_type) && (_value.image_width == pParam->_value.image_width) &&
++ (_value.image_height == pParam->_value.image_height) && (_value.image_depth == pParam->_value.image_depth) &&
++ (_value.image_array_size == pParam->_value.image_array_size) && (_value.image_row_pitch == pParam->_value.image_row_pitch) &&
++ (_value.image_slice_pitch == pParam->_value.image_slice_pitch) && (_value.num_mip_levels == pParam->_value.num_mip_levels) &&
++ (_value.num_samples == pParam->_value.num_samples) && (_value.buffer == pParam->_value.buffer));
+ }
+ }
+
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0019-Miniz-fix-build-with-gcc6.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0019-Miniz-fix-build-with-gcc6.patch
new file mode 100644
index 00000000..61252381
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0019-Miniz-fix-build-with-gcc6.patch
@@ -0,0 +1,63 @@
+From 5355b447698b2f4b4047f9e2101665fd626d01ff Mon Sep 17 00:00:00 2001
+From: Awais Belal <awais_belal@mentor.com>
+Date: Wed, 16 Nov 2016 14:47:32 +0500
+Subject: [PATCH] Miniz: fix build with gcc6
+
+This covers up the build failure of Miniz with gcc6. This
+is a direct port of
+https://github.com/bog-dan-ro/common-src-Miniz/commit/e653cb505b07873b852518b4ac72274c273a8328
+
+Signed-off-by: Awais Belal <awais_belal@mentor.com>
+---
+ Common/Src/Miniz/miniz.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/Common/Src/Miniz/miniz.c b/Common/Src/Miniz/miniz.c
+index 73afcf1..e96596a 100755
+--- a/Common/Src/Miniz/miniz.c
++++ b/Common/Src/Miniz/miniz.c
+@@ -821,7 +821,7 @@ size_t tdefl_compress_mem_to_mem(void *pOut_buf, size_t out_buf_len, const void
+
+ // Compresses an image to a compressed PNG file in memory.
+ // On entry:
+-// pImage, w, h, and num_chans describe the image to compress. num_chans may be 1, 2, 3, or 4.
++// pImage, w, h, and num_chans describe the image to compress. num_chans may be 1, 2, 3, or 4.
+ // The image pitch in bytes per scanline will be w*num_chans. The leftmost pixel on the top scanline is stored first in memory.
+ // level may range from [0,10], use MZ_NO_COMPRESSION, MZ_BEST_SPEED, MZ_BEST_COMPRESSION, etc. or a decent default is MZ_DEFAULT_LEVEL
+ // If flip is true, the image will be flipped on the Y axis (useful for OpenGL apps).
+@@ -1497,7 +1497,10 @@ tinfl_status tinfl_decompress(tinfl_decompressor *r, const mz_uint8 *pIn_buf_nex
+ {
+ mz_uint8 *p = r->m_tables[0].m_code_size; mz_uint i;
+ r->m_table_sizes[0] = 288; r->m_table_sizes[1] = 32; TINFL_MEMSET(r->m_tables[1].m_code_size, 5, 32);
+- for ( i = 0; i <= 143; ++i) *p++ = 8; for ( ; i <= 255; ++i) *p++ = 9; for ( ; i <= 279; ++i) *p++ = 7; for ( ; i <= 287; ++i) *p++ = 8;
++ for ( i = 0; i <= 143; ++i) *p++ = 8;
++ for ( ; i <= 255; ++i) *p++ = 9;
++ for ( ; i <= 279; ++i) *p++ = 7;
++ for ( ; i <= 287; ++i) *p++ = 8;
+ }
+ else
+ {
+@@ -2281,7 +2284,10 @@ static MZ_FORCEINLINE void tdefl_find_match(tdefl_compressor *d, mz_uint lookahe
+ if (TDEFL_READ_UNALIGNED_WORD(&d->m_dict[probe_pos + match_len - 1]) == c01) break;
+ TDEFL_PROBE; TDEFL_PROBE; TDEFL_PROBE;
+ }
+- if (!dist) break; q = (const mz_uint16*)(d->m_dict + probe_pos); if (TDEFL_READ_UNALIGNED_WORD(q) != s01) continue; p = s; probe_len = 32;
++ if (!dist) break;
++ q = (const mz_uint16*)(d->m_dict + probe_pos);
++ if (TDEFL_READ_UNALIGNED_WORD(q) != s01) continue;
++ p = s; probe_len = 32;
+ do { } while ( (TDEFL_READ_UNALIGNED_WORD(++p) == TDEFL_READ_UNALIGNED_WORD(++q)) && (TDEFL_READ_UNALIGNED_WORD(++p) == TDEFL_READ_UNALIGNED_WORD(++q)) &&
+ (TDEFL_READ_UNALIGNED_WORD(++p) == TDEFL_READ_UNALIGNED_WORD(++q)) && (TDEFL_READ_UNALIGNED_WORD(++p) == TDEFL_READ_UNALIGNED_WORD(++q)) && (--probe_len > 0) );
+ if (!probe_len)
+@@ -4441,7 +4447,7 @@ mz_bool mz_zip_writer_add_file(mz_zip_archive *pZip, const char *pArchive_name,
+
+ if (!mz_zip_get_file_modified_time(pSrc_filename, &dos_time, &dos_date))
+ return MZ_FALSE;
+-
++
+ pSrc_file = MZ_FOPEN(pSrc_filename, "rb");
+ if (!pSrc_file)
+ return MZ_FALSE;
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0020-WebServer-fix-misleading-cleanup-under-RemoveHandler.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0020-WebServer-fix-misleading-cleanup-under-RemoveHandler.patch
new file mode 100644
index 00000000..615d8b17
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0020-WebServer-fix-misleading-cleanup-under-RemoveHandler.patch
@@ -0,0 +1,30 @@
+From c04253e27be667681644e653ea24677c2ad90880 Mon Sep 17 00:00:00 2001
+From: Awais Belal <awais_belal@mentor.com>
+Date: Wed, 16 Nov 2016 15:11:33 +0500
+Subject: [PATCH] WebServer: fix misleading cleanup under RemoveHandlers
+
+The RemoveHandlers implementation had a terminating ';'
+which would not allow the cleanup of the whole signal
+map.
+
+Signed-off-by: Awais Belal <awais_belal@mentor.com>
+---
+ CodeXL/Components/Graphics/Server/WebServer/OSDependent.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CodeXL/Components/Graphics/Server/WebServer/OSDependent.cpp b/CodeXL/Components/Graphics/Server/WebServer/OSDependent.cpp
+index ef92962..e344e7a 100755
+--- a/CodeXL/Components/Graphics/Server/WebServer/OSDependent.cpp
++++ b/CodeXL/Components/Graphics/Server/WebServer/OSDependent.cpp
+@@ -1089,7 +1089,7 @@ public:
+ void RemoveHandlers()
+ {
+ std::map<int, SignalData>::iterator it;
+- for (it = m_signalMap.begin(); it != m_signalMap.end(); ++it);
++ for (it = m_signalMap.begin(); it != m_signalMap.end(); ++it)
+ {
+ sigaction(it->first, &(it->second.old_action), nullptr);
+ }
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0021-AMDTPowerProfileApi-fix-build-issues.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0021-AMDTPowerProfileApi-fix-build-issues.patch
new file mode 100644
index 00000000..1a50ec2f
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0021-AMDTPowerProfileApi-fix-build-issues.patch
@@ -0,0 +1,39 @@
+From 683c17574ab3c2df7891428ce23eac78332526a3 Mon Sep 17 00:00:00 2001
+From: Awais Belal <awais_belal@mentor.com>
+Date: Wed, 16 Nov 2016 15:15:35 +0500
+Subject: [PATCH] AMDTPowerProfileApi: fix build issues
+
+The nearbyint implementation requires math.h to be
+appropriately found by the compiler.
+Also fix warnings from gcc6 regarding left-shift of
+negative number.
+
+Signed-off-by: Awais Belal <awais_belal@mentor.com>
+---
+ .../Backend/AMDTPowerProfileAPI/src/AMDTPowerProfileApi.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/CodeXL/Components/PowerProfiling/Backend/AMDTPowerProfileAPI/src/AMDTPowerProfileApi.cpp b/CodeXL/Components/PowerProfiling/Backend/AMDTPowerProfileAPI/src/AMDTPowerProfileApi.cpp
+index 4629d3e..3996392 100755
+--- a/CodeXL/Components/PowerProfiling/Backend/AMDTPowerProfileAPI/src/AMDTPowerProfileApi.cpp
++++ b/CodeXL/Components/PowerProfiling/Backend/AMDTPowerProfileAPI/src/AMDTPowerProfileApi.cpp
+@@ -33,6 +33,7 @@
+ #include <sys/time.h>
+ #include <unistd.h>
+ #include <stdlib.h>
++#include <math.h>
+ void __attribute__((constructor)) initPowerProfileDriverInterface(void);
+ void __attribute__((destructor)) finiPowerProfileDriverInterface(void);
+
+@@ -751,7 +752,7 @@ AMDTUInt32 PwrGetCoreMask()
+
+ if (PROFILE_TYPE_PROCESS_PROFILING == g_profileType)
+ {
+- mask = ~0 ^ (~0 << g_sysInfo.m_coreCnt);
++ mask = ~((AMDTUInt32)0) ^ (~((AMDTUInt32)0) << g_sysInfo.m_coreCnt);
+ }
+ else
+ {
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/0022-GpuProfiling-disable-ignored-attributes-checks.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/0022-GpuProfiling-disable-ignored-attributes-checks.patch
new file mode 100644
index 00000000..6e7c7f05
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/0022-GpuProfiling-disable-ignored-attributes-checks.patch
@@ -0,0 +1,29 @@
+From 29358a5e3b7a4c8581594b0408ab73f3b13e8e92 Mon Sep 17 00:00:00 2001
+From: Awais Belal <awais_belal@mentor.com>
+Date: Wed, 16 Nov 2016 16:19:34 +0500
+Subject: [PATCH] GpuProfiling: disable ignored-attributes checks
+
+The GCC6 tools introduce a new ignored-attributes type
+of warning which is ignorable itself in this case.
+
+Signed-off-by: Awais Belal <awais_belal@mentor.com>
+---
+ CodeXL/Components/GpuProfiling/Build/Common.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CodeXL/Components/GpuProfiling/Build/Common.mk b/CodeXL/Components/GpuProfiling/Build/Common.mk
+index 4ab2d12..aaeeb39 100755
+--- a/CodeXL/Components/GpuProfiling/Build/Common.mk
++++ b/CodeXL/Components/GpuProfiling/Build/Common.mk
+@@ -8,7 +8,7 @@ PLATFORM_CFLAG =
+ PLATFORM_LFLAG =
+ TARGET_SUFFIX =
+ ADDL_CFLAGS = $(CXXFLAGS)
+-CFLAGS = $(OPTIMIZE) -std=c++11 -fPIC -Wall -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-non-virtual-dtor -Wno-conversion-null -Werror -msse $(PLATFORM_CFLAG) $(ADDL_CFLAGS)
++CFLAGS = $(OPTIMIZE) -std=c++11 -fPIC -Wall -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-non-virtual-dtor -Wno-conversion-null -Werror -msse -Wno-ignored-attributes $(PLATFORM_CFLAG) $(ADDL_CFLAGS)
+ HSAFDN_CFLAGS =
+ PLATFORM_DIR = x64
+ HSA_PLATFORM_DIR = x86_64
+--
+1.9.1
+
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/amdtPwrProf.rules b/meta-amd-bsp/recipes-devtools/codexl/codexl/amdtPwrProf.rules
new file mode 100644
index 00000000..f29c4829
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/amdtPwrProf.rules
@@ -0,0 +1,5 @@
+# Create the device file when the module is inserted.
+SUBSYSTEM=="module", ACTION=="add", KERNEL=="amdtPwrProf", RUN+="/opt/codexl/amdtPwrProf_mknod.sh"
+
+# Remove the device file when the module is removed.
+SUBSYSTEM=="module", ACTION=="remove", KERNEL=="amdtPwrProf", RUN+="/bin/rm /dev/amdtPwrProf"
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/amdtPwrProf_mknod.sh b/meta-amd-bsp/recipes-devtools/codexl/codexl/amdtPwrProf_mknod.sh
new file mode 100644
index 00000000..7fd27c6e
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/amdtPwrProf_mknod.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+mknod /dev/amdtPwrProf -m 666 c `cat /proc/amdtPwrProf/device` 0
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/codexl-remote-agent.service b/meta-amd-bsp/recipes-devtools/codexl/codexl/codexl-remote-agent.service
new file mode 100644
index 00000000..9f577eee
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/codexl-remote-agent.service
@@ -0,0 +1,15 @@
+[Unit]
+Description="CodeXL Remote Agent"
+Wants=connman-wait-online.service
+After=connman-wait-online.service
+
+[Service]
+Type=simple
+Restart=always
+ExecStart=/opt/codexl/codexl_remote_agent.sh start
+ExecStop=/opt/codexl/codexl_remote_agent.sh stop
+WorkingDirectory=/opt/codexl
+User=root
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/codexl_remote_agent.sh b/meta-amd-bsp/recipes-devtools/codexl/codexl/codexl_remote_agent.sh
new file mode 100644
index 00000000..3fc74e52
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/codexl_remote_agent.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+ACTION=$1
+
+function start_remote_agent {
+ if [ -z "`cat /proc/modules | grep amdtPwrProf`" ]; then
+ insmod /opt/codexl/amdtPwrProf.ko
+ fi
+ export DISPLAY=:0
+ /opt/codexl/CodeXLRemoteAgent
+}
+
+function stop_remote_agent {
+ killall -q CodeXLRemoteAgent-bin
+ if [ -n "`cat /proc/modules | grep amdtPwrProf`" ]; then
+ rmmod amdtPwrProf
+ fi
+}
+
+if [ $ACTION = "start" ]; then
+ echo "START the remote agent"
+ stop_remote_agent
+ start_remote_agent
+else
+ echo "STOP the remote agent"
+ stop_remote_agent
+fi
diff --git a/meta-amd-bsp/recipes-devtools/codexl/codexl/makefile-mkdir-ordering.patch b/meta-amd-bsp/recipes-devtools/codexl/codexl/makefile-mkdir-ordering.patch
new file mode 100644
index 00000000..6318918c
--- /dev/null
+++ b/meta-amd-bsp/recipes-devtools/codexl/codexl/makefile-mkdir-ordering.patch
@@ -0,0 +1,11 @@
+--- CodeXL/Components/GpuProfiling/Build/CommonTargets.mk.orig 2017-01-19 15:56:10.300696899 -0500
++++ CodeXL/Components/GpuProfiling/Build/CommonTargets.mk 2017-01-19 16:05:12.473012993 -0500
+@@ -39,7 +39,7 @@
+
+ # source file targets
+
+-BUILD_SRC=$(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@
++BUILD_SRC=mkdir -p $(@D); $(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) -c $< -o $@
+
+ $(OBJ_DIR)/%.o: %.cpp
+ $(BUILD_SRC)