From f5a192608faa4c95ec16de1f50b84b6edb97a1e0 Mon Sep 17 00:00:00 2001 From: Gabriel Kerneis Date: Fri, 8 Oct 2010 15:05:50 +0000 Subject: [PATCH] [package] babel: include upstream patch until next release Fri Sep 24 16:25:40 CEST 2010 Juliusz Chroboczek * Don't use __attribute__((packed)), it is buggy. SVN-Revision: 23325 --- net/babel/Makefile | 2 +- net/babel/patches/001-buggy-packed.patch | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 net/babel/patches/001-buggy-packed.patch diff --git a/net/babel/Makefile b/net/babel/Makefile index dcc96d44c3..497f1487d4 100644 --- a/net/babel/Makefile +++ b/net/babel/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=babeld PKG_VERSION:=1.0.1 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.pps.jussieu.fr/~jch/software/files/ diff --git a/net/babel/patches/001-buggy-packed.patch b/net/babel/patches/001-buggy-packed.patch new file mode 100644 index 0000000000..f18073117e --- /dev/null +++ b/net/babel/patches/001-buggy-packed.patch @@ -0,0 +1,22 @@ +Fri Sep 24 16:25:40 CEST 2010 Juliusz Chroboczek + * Don't use __attribute__((packed)), it is buggy. +diff -rN -u old-babeld/util.h new-babeld/util.h +--- old-babeld/util.h 2010-10-08 15:41:20.000000000 +0200 ++++ new-babeld/util.h 2010-10-08 15:41:20.000000000 +0200 +@@ -20,7 +20,15 @@ + THE SOFTWARE. + */ + +-#if defined __GNUC__ ++#if defined(i386) || defined(__mc68020__) || defined(__x86_64__) ++#define DO_NTOHS(_d, _s) do { _d = ntohs(*(unsigned short*)(_s)); } while(0) ++#define DO_NTOHL(_d, _s) do { _d = ntohl(*(unsigned*)(_s)); } while(0) ++#define DO_HTONS(_d, _s) do { *(unsigned short*)(_d) = htons(_s); } while(0) ++#define DO_HTONL(_d, _s) do { *(unsigned*)(_d) = htonl(_s); } while(0) ++/* Some versions of gcc seem to be buggy, and ignore the packed attribute. ++ Disable this code until the issue is clarified. */ ++/* #elif defined __GNUC__*/ ++#elif 0 + struct __us { unsigned short x __attribute__((packed)); }; + #define DO_NTOHS(_d, _s) \ + do { _d = ntohs(((const struct __us*)(_s))->x); } while(0) -- 2.30.2