[FE training-materials-updates] Add back old Buildroot patch

Michael Opdenacker michael.opdenacker at free-electrons.com
Fri Jun 6 15:33:04 CEST 2014


Repository : git://git.free-electrons.com/training-materials.git

On branch  : master
Link       : http://git.free-electrons.com/training-materials/commit/?id=ff121a385cee3904f25c670349106b0f30401521

>---------------------------------------------------------------

commit ff121a385cee3904f25c670349106b0f30401521
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date:   Fri Jun 6 15:31:58 2014 +0200

    Add back old Buildroot patch
    
    - Was still needed for the real-time lab
    - Updated instructions will follow soon
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>


>---------------------------------------------------------------

ff121a385cee3904f25c670349106b0f30401521
 ...in-wrapper-fix-paths-if-executable-was-re.patch |   56 ++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/lab-data/realtime/rttest/data/buildroot-2013.02-ext-toolchain-wrapper-fix-paths-if-executable-was-re.patch b/lab-data/realtime/rttest/data/buildroot-2013.02-ext-toolchain-wrapper-fix-paths-if-executable-was-re.patch
new file mode 100644
index 0000000..cbd142e
--- /dev/null
+++ b/lab-data/realtime/rttest/data/buildroot-2013.02-ext-toolchain-wrapper-fix-paths-if-executable-was-re.patch
@@ -0,0 +1,56 @@
+From 51698d4f81138f0b2ab33a069af9a7346f199094 Mon Sep 17 00:00:00 2001
+From: Patrick Ziegler <patrick.ziegler at fh-kl.de>
+Date: Wed, 29 May 2013 11:41:19 +0200
+Subject: [PATCH] ext-toolchain-wrapper: fix paths if executable was resolved
+ by PATH
+
+If ext-toolchain-wrapper or any symbolic link to it was resolved by PATH,
+the wrapper takes the working directory to calculate the relative paths.
+
+Now '/proc/self/exe' is used to resolve the absolute path to the toolchain
+directory if the wrapper was called neither with a relative nor an absolute
+path.
+
+Signed-off-by: Patrick Ziegler <patrick.ziegler at fh-kl.de>
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+---
+ .../toolchain-external/ext-toolchain-wrapper.c     |   16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/toolchain/toolchain-external/ext-toolchain-wrapper.c b/toolchain/toolchain-external/ext-toolchain-wrapper.c
+index 9a2fc70..e71a90a 100644
+--- a/toolchain/toolchain-external/ext-toolchain-wrapper.c
++++ b/toolchain/toolchain-external/ext-toolchain-wrapper.c
+@@ -61,7 +61,7 @@ int main(int argc, char **argv)
+ 	char *relbasedir, *absbasedir;
+ 	char *progpath = argv[0];
+ 	char *basename;
+-	int ret;
++	int ret, i, count = 0;
+ 
+ 	/* Calculate the relative paths */
+ 	basename = strrchr(progpath, '/');
+@@ -77,7 +77,19 @@ int main(int argc, char **argv)
+ 		absbasedir = realpath(relbasedir, NULL);
+ 	} else {
+ 		basename = progpath;
+-		absbasedir = realpath("../..", NULL);
++		absbasedir = malloc(PATH_MAX + 1);
++		ret = readlink("/proc/self/exe", absbasedir, PATH_MAX);
++		if (ret < 0) {
++			perror(__FILE__ ": readlink");
++			return 2;
++		}
++		for (i = ret; i > 0; i--) {
++			if ('/' == absbasedir[i]) {
++				absbasedir[i] = '\0';
++				if (3 == ++count)
++					break;
++			}
++		}
+ 	}
+ 	if (absbasedir == NULL) {
+ 		perror(__FILE__ ": realpath");
+-- 
+1.7.9.5
+



More information about the training-materials-updates mailing list