[Buildroot] [PATCH V2] openocd: fetch package from git repository and update version

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Sat Feb 25 03:33:01 UTC 2012


On 19:31 Fri 24 Feb     , Alexandre Pereira da Silva wrote:
> This overrided the DOWNLOAD_GIT method to also fetch the submodules used
> by openocd.
> Removed patches that are not needed anymore by the new version.
> Updated the gnu99 patch to use configure.ac instead of configure.in.
> Fix a build problem in the stm32_stlink.c file.
> 
> Signed-off-by: Alexandre Pereira da Silva <aletes.xgr at gmail.com>
> ---
again NACK

DO NOT USE GIT in the release

and did you try to build it for the target as ARM?

Best Regards,
J.
>  ...s-compilation-host-libsub-was-used-before.patch |   33 --------
>  ...d-0001-stlink-fix-alignment-build-warning.patch |   83 ++++++++++++++++++++
>  ...002-fix-xscale-uninitialise-breakpoint_pc.patch |   20 -----
>  package/openocd/openocd-0003-force-gnu99.patch     |   24 ++++---
>  .../openocd/openocd-0005-dont-force-ldflags.patch  |   37 ---------
>  package/openocd/openocd.mk                         |   28 ++++++-
>  6 files changed, 120 insertions(+), 105 deletions(-)
>  delete mode 100644 package/openocd/openocd-0001-fix-cross-compilation-host-libsub-was-used-before.patch
>  create mode 100644 package/openocd/openocd-0001-stlink-fix-alignment-build-warning.patch
>  delete mode 100644 package/openocd/openocd-0002-fix-xscale-uninitialise-breakpoint_pc.patch
>  delete mode 100644 package/openocd/openocd-0005-dont-force-ldflags.patch
> 
> diff --git a/package/openocd/openocd-0001-fix-cross-compilation-host-libsub-was-used-before.patch b/package/openocd/openocd-0001-fix-cross-compilation-host-libsub-was-used-before.patch
> deleted file mode 100644
> index caf1a8b..0000000
> --- a/package/openocd/openocd-0001-fix-cross-compilation-host-libsub-was-used-before.patch
> +++ /dev/null
> @@ -1,33 +0,0 @@
> -From 3728c4af7f6303ccedab56ec220797f8f290580e Mon Sep 17 00:00:00 2001
> -From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> -Date: Wed, 10 Aug 2011 00:17:29 +0800
> -Subject: [PATCH] fix cross compilation: host libsub was used before
> -
> -tested in buildroot
> -
> -Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> ----
> - configure.in |    7 +++++--
> - 1 files changed, 5 insertions(+), 2 deletions(-)
> -
> -diff --git a/configure.in b/configure.in
> -index dfa1e8f..cfe2218 100644
> ---- a/configure.in
> -+++ b/configure.in
> -@@ -1046,8 +1046,11 @@ build_usb=no
> - if test $build_jlink = yes -o $build_vsllink = yes -o $build_usbprog = yes -o \
> -   $build_rlink = yes -o $build_ulink = yes -o $build_armjtagew = yes
> - then
> --  AC_CHECK_HEADERS([usb.h],[],
> --  [AC_MSG_ERROR([usb.h is required to build some OpenOCD driver(s)])])
> -+  dnl check for libusb
> -+  PKG_CHECK_MODULES(LIBUSB, libusb >= 0.1.11)
> -+  CFLAGS="$CFLAGS $LIBUSB_CFLAGS"
> -+  LDFLAGS="$LDFLAGS $LIBUSB_LDFLAGS"
> -+  LIBS="$LIBS $LIBUSB_LIBS"
> -   build_usb=yes
> - fi
> - 
> --- 
> -1.7.5.4
> -
> diff --git a/package/openocd/openocd-0001-stlink-fix-alignment-build-warning.patch b/package/openocd/openocd-0001-stlink-fix-alignment-build-warning.patch
> new file mode 100644
> index 0000000..2d8e521
> --- /dev/null
> +++ b/package/openocd/openocd-0001-stlink-fix-alignment-build-warning.patch
> @@ -0,0 +1,83 @@
> +From 94228f37f54ace3040bea1e5c2ccee895d854859 Mon Sep 17 00:00:00 2001
> +From: Alexandre Pereira da Silva <aletes.xgr at gmail.com>
> +Date: Fri, 24 Feb 2012 18:51:48 -0200
> +Subject: [PATCH] stlink: fix alignment build warning
> +
> +The {read,write}_mem32 interface functions was asking a 32 bits buffer but
> +they don't need 32 bits alignment.
> +This will change the interface to a 8 bits buffer to remove the alignment
> +mismatch warning. This was causing build errors on platforms with strict
> +aliasing rules.
> +
> +Change-Id: I338be8df5686f07a64ddb4f17c1bb494af583999
> +Signed-off-by: Alexandre Pereira da Silva <aletes.xgr at gmail.com>
> +---
> + src/jtag/drivers/stlink_usb.c   |    4 ++--
> + src/jtag/stlink/stlink_layout.h |    4 ++--
> + src/target/stm32_stlink.c       |    4 ++--
> + 3 files changed, 6 insertions(+), 6 deletions(-)
> +
> +diff --git a/src/jtag/drivers/stlink_usb.c b/src/jtag/drivers/stlink_usb.c
> +index 3cb2434..4604716 100644
> +--- a/src/jtag/drivers/stlink_usb.c
> ++++ b/src/jtag/drivers/stlink_usb.c
> +@@ -968,7 +968,7 @@ static int stlink_usb_write_mem8(void *handle, uint32_t addr, uint16_t len,
> + 
> + /** */
> + static int stlink_usb_read_mem32(void *handle, uint32_t addr, uint16_t len,
> +-			  uint32_t *buffer)
> ++			  uint8_t *buffer)
> + {
> + 	int res;
> + 	struct stlink_usb_handle_s *h;
> +@@ -998,7 +998,7 @@ static int stlink_usb_read_mem32(void *handle, uint32_t addr, uint16_t len,
> + 
> + /** */
> + static int stlink_usb_write_mem32(void *handle, uint32_t addr, uint16_t len,
> +-			   const uint32_t *buffer)
> ++			   const uint8_t *buffer)
> + {
> + 	int res;
> + 	struct stlink_usb_handle_s *h;
> +diff --git a/src/jtag/stlink/stlink_layout.h b/src/jtag/stlink/stlink_layout.h
> +index c0c89f5..59e6174 100644
> +--- a/src/jtag/stlink/stlink_layout.h
> ++++ b/src/jtag/stlink/stlink_layout.h
> +@@ -56,10 +56,10 @@ struct stlink_layout_api_s {
> + 			    const uint8_t *buffer);
> + 	/** */
> + 	int (*read_mem32) (void *handle, uint32_t addr, uint16_t len,
> +-			   uint32_t *buffer);
> ++			   uint8_t *buffer);
> + 	/** */
> + 	int (*write_mem32) (void *handle, uint32_t addr, uint16_t len,
> +-			    const uint32_t *buffer);
> ++			    const uint8_t *buffer);
> + 	/** */
> + 	int (*idcode) (void *fd, uint32_t *idcode);
> + 	/** */
> +diff --git a/src/target/stm32_stlink.c b/src/target/stm32_stlink.c
> +index 32896cc..fc97188 100644
> +--- a/src/target/stm32_stlink.c
> ++++ b/src/target/stm32_stlink.c
> +@@ -651,7 +651,7 @@ static int stm32_stlink_read_memory(struct target *target, uint32_t address,
> + 					address, c, dst);
> + 		else
> + 			res = stlink_if->layout->api->read_mem32(stlink_if->fd,
> +-					address, c, (uint32_t *)dst);
> ++					address, c, dst);
> + 
> + 		if (res != ERROR_OK)
> + 			return res;
> +@@ -700,7 +700,7 @@ static int stm32_stlink_write_memory(struct target *target, uint32_t address,
> + 					address, c, dst);
> + 		else
> + 			res = stlink_if->layout->api->write_mem32(stlink_if->fd,
> +-					address, c, (uint32_t *)dst);
> ++					address, c, dst);
> + 
> + 		if (res != ERROR_OK)
> + 			return res;
> +-- 
> +1.7.9
> +
> diff --git a/package/openocd/openocd-0002-fix-xscale-uninitialise-breakpoint_pc.patch b/package/openocd/openocd-0002-fix-xscale-uninitialise-breakpoint_pc.patch
> deleted file mode 100644
> index 328241e..0000000
> --- a/package/openocd/openocd-0002-fix-xscale-uninitialise-breakpoint_pc.patch
> +++ /dev/null
> @@ -1,20 +0,0 @@
> -xscale: fix uninitialise breakpoint_pc
> -
> -Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> ----
> - src/target/xscale.c |    2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -Index: b/src/target/xscale.c
> -===================================================================
> ---- a/src/target/xscale.c
> -+++ b/src/target/xscale.c
> -@@ -2811,7 +2811,7 @@ static int xscale_analyze_trace(struct t
> -    struct xscale_common *xscale = target_to_xscale(target);
> -    struct xscale_trace_data *trace_data = xscale->trace.data;
> -    int i, retval;
> --   uint32_t breakpoint_pc;
> -+   uint32_t breakpoint_pc = 0;
> -    struct arm_instruction instruction;
> -    uint32_t current_pc = 0;  /* initialized when address determined */
> - 	
> diff --git a/package/openocd/openocd-0003-force-gnu99.patch b/package/openocd/openocd-0003-force-gnu99.patch
> index 106d112..5511f09 100644
> --- a/package/openocd/openocd-0003-force-gnu99.patch
> +++ b/package/openocd/openocd-0003-force-gnu99.patch
> @@ -1,19 +1,23 @@
>  force gnu99
>  
> -Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> +Signed-off-by: Alexandre Pereira da Silva <aletes.xgr at gmail.com>
>  ---
> - configure.in |    1 +
> - 1 file changed, 1 insertion(+)
> + configure.ac |    2 ++
> + 1 files changed, 2 insertions(+), 0 deletions(-)
>  
> -Index: b/configure.in
> -===================================================================
> ---- a/configure.in
> -+++ b/configure.in
> -@@ -28,6 +28,7 @@ AC_DISABLE_SHARED
> +diff --git a/configure.ac b/configure.ac
> +index ffab637..60fe4ab 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -28,6 +28,8 @@ AC_DISABLE_SHARED
>   AC_PROG_LIBTOOL
> - AC_SUBST(LIBTOOL_DEPS)
> + AC_SUBST([LIBTOOL_DEPS])
>   
>  +CFLAGS="$CFLAGS -std=gnu99"
> - 
> ++
>   dnl configure checks required for Jim files (these are obsolete w/ C99)
>   AC_C_CONST
> + AC_TYPE_LONG_LONG_INT
> +-- 
> +1.7.9
> +
> diff --git a/package/openocd/openocd-0005-dont-force-ldflags.patch b/package/openocd/openocd-0005-dont-force-ldflags.patch
> deleted file mode 100644
> index 1880e00..0000000
> --- a/package/openocd/openocd-0005-dont-force-ldflags.patch
> +++ /dev/null
> @@ -1,37 +0,0 @@
> -[PATCH] don't force library search path / rpath settings
> -
> -openocd adds -L$exec_prefix/lib -Wl,rpath,$exec_prefix/lib to the compile
> -LDFLAGS if it isn't installed into /usr/local, which breaks cross compilation
> -as the compiler ends up using host libraries.
> ----
> - configure.in |   17 -----------------
> - 1 file changed, 17 deletions(-)
> -
> -Index: openocd-0.5.0/configure.in
> -===================================================================
> ---- openocd-0.5.0.orig/configure.in
> -+++ openocd-0.5.0/configure.in
> -@@ -174,23 +174,6 @@
> - # Let make expand exec_prefix.
> - test x"$OCDxprefix" = xNONE && OCDxprefix="$OCDprefix"
> - 
> --# what matters is the "exec-prefix"
> --if test "$OCDxprefix" != "$ac_default_prefix"
> --then
> --    # We are installing in a non-standard place
> --    # Nonstandard --prefix and/or --exec-prefix
> --    # We have an override of some sort.
> --    # use build specific install library dir
> --
> --    LDFLAGS="$LDFLAGS -L$OCDxprefix/lib"
> --    # RPATH becomes an issue on Linux only
> --    if test $host_os = linux-gnu || test $host_os = linux ; then
> --      LDFLAGS="$LDFLAGS -Wl,-rpath,$OCDxprefix/lib"
> --    fi
> --    # The "INCDIR" is also usable
> --    CFLAGS="$CFLAGS -I$includedir"
> --fi
> --
> - AC_ARG_WITH(ftd2xx,
> -    AS_HELP_STRING([--with-ftd2xx=<PATH>],[This option has been removed.]),
> -   [
> diff --git a/package/openocd/openocd.mk b/package/openocd/openocd.mk
> index a12ba6c..2796e81 100644
> --- a/package/openocd/openocd.mk
> +++ b/package/openocd/openocd.mk
> @@ -3,16 +3,18 @@
>  # openocd
>  #
>  #############################################################
> -OPENOCD_VERSION:=0.5.0
> -OPENOCD_SOURCE = openocd-$(OPENOCD_VERSION).tar.bz2
> -OPENOCD_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/openocd/openocd/$(OPENOCD_VERSION)
> +#OPENOCD_VERSION = master
> +OPENOCD_VERSION = dec6b913809bd3f857af31be178ffde65e42dbab
> +OPENOCD_SITE = git://openocd.git.sourceforge.net/gitroot/openocd/openocd
> +OPENOCD_SITE_METHOD = git
>  
>  OPENOCD_AUTORECONF = YES
>  OPENOCD_CONF_OPT = \
>  	--oldincludedir=$(STAGING_DIR)/usr/include \
>  	--includedir=$(STAGING_DIR)/usr/include \
>  	--disable-doxygen-html \
> -	--enable-dummy
> +	--enable-dummy \
> +    --enable-maintainer-mode
>  
>  OPENOCD_DEPENDENCIES = libusb-compat
>  
> @@ -32,12 +34,28 @@ endif
>  
>  HOST_OPENOCD_DEPENDENCIES = host-libusb-compat host-libftdi
>  
> +HOST_OPENOCD_AUTORECONF = YES
>  HOST_OPENOCD_CONF_OPT = 	\
>  	--disable-doxygen-html 	\
>  	--enable-dummy 		\
>  	--enable-ft2232_libftdi \
>  	--enable-jlink 		\
> -	--enable-vsllink
> +	--enable-vsllink \
> +	--enable-maintainer-mode 
> +
> +define DOWNLOAD_GIT
> +	test -e $(DL_DIR)/$($(PKG)_SOURCE) || \
> +	(pushd $(DL_DIR) > /dev/null && \
> +	$(GIT) clone $($(PKG)_SITE) $($(PKG)_BASE_NAME) && \
> +	pushd $($(PKG)_BASE_NAME) > /dev/null && \
> +	$(GIT) checkout $($(PKG)_VERSION) && \
> +	$(GIT) submodule init && \
> +	$(GIT) submodule update && \
> +	$(TAR) czf $(DL_DIR)/$($(PKG)_SOURCE) . &&\
> +	popd > /dev/null && \
> +	rm -rf $($(PKG)_DL_DIR) && \
> +	popd > /dev/null)    
> +endef
>  
>  $(eval $(call AUTOTARGETS))
>  $(eval $(call AUTOTARGETS,host))
> -- 
> 1.7.9
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot



More information about the buildroot mailing list