diff --git a/.gitignore b/.gitignore index aea93da..9ee67db 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,6 @@ /sdcc-src-3.4.0.tar.bz2 /sdcc-3.4.0-libiberty.patch /sdcc-3.4.0-strndup.patch +/sdcc-src-3.5.0.tar.bz2 +/binutils-2.25-bfd.patch +/sdcc-3.5.0-libiberty.patch diff --git a/binutils-2.24-bfd.patch b/binutils-2.24-bfd.patch deleted file mode 100644 index 2674a55..0000000 --- a/binutils-2.24-bfd.patch +++ /dev/null @@ -1,177 +0,0 @@ -commit 27b829ee701e29804216b3803fbaeb629be27491 -Author: Nick Clifton -Date: Wed Jan 29 13:46:39 2014 +0000 - - Following up on Tom's suggestion I am checking in a patch to replace the various - bfd_xxx_set macros with static inline functions, so that we can avoid compile time - warnings about comma expressions with unused values. - - * bfd-in.h (bfd_set_section_vma): Delete. - (bfd_set_section_alignment): Delete. - (bfd_set_section_userdata): Delete. - (bfd_set_cacheable): Delete. - * bfd.c (bfd_set_cacheable): New static inline function. - * section.c (bfd_set_section_userdata): Likewise. - (bfd_set_section_vma): Likewise. - (bfd_set_section_alignment): Likewise. - * bfd-in2.h: Regenerate. - -diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h -index 3afd71b..c7c5a7d 100644 ---- a/bfd/bfd-in.h -+++ b/bfd/bfd-in.h -@@ -292,9 +292,6 @@ typedef struct bfd_section *sec_ptr; - - #define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0) - --#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE) --#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE) --#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE) - /* Find the address one past the end of SEC. */ - #define bfd_get_section_limit(bfd, sec) \ - (((bfd)->direction != write_direction && (sec)->rawsize != 0 \ -@@ -517,8 +514,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *); - - #define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char) - --#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE) -- - extern bfd_boolean bfd_cache_close - (bfd *abfd); - /* NB: This declaration should match the autogenerated one in libbfd.h. */ -diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h -index 71996db..b5aeb40 100644 ---- a/bfd/bfd-in2.h -+++ b/bfd/bfd-in2.h -@@ -299,9 +299,6 @@ typedef struct bfd_section *sec_ptr; - - #define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0) - --#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE) --#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE) --#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE) - /* Find the address one past the end of SEC. */ - #define bfd_get_section_limit(bfd, sec) \ - (((bfd)->direction != write_direction && (sec)->rawsize != 0 \ -@@ -524,8 +521,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *); - - #define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char) - --#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE) -- - extern bfd_boolean bfd_cache_close - (bfd *abfd); - /* NB: This declaration should match the autogenerated one in libbfd.h. */ -@@ -1029,7 +1024,7 @@ bfd *bfd_openr (const char *filename, const char *target); - - bfd *bfd_fdopenr (const char *filename, const char *target, int fd); - --bfd *bfd_openstreamr (const char *, const char *, void *); -+bfd *bfd_openstreamr (const char * filename, const char * target, void * stream); - - bfd *bfd_openr_iovec (const char *filename, const char *target, - void *(*open_func) (struct bfd *nbfd, -@@ -1596,6 +1591,32 @@ struct relax_table { - int size; - }; - -+/* Note: the following are provided as inline functions rather than macros -+ because not all callers use the return value. A macro implementation -+ would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some -+ compilers will complain about comma expressions that have no effect. */ -+static inline bfd_boolean -+bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val) -+{ -+ ptr->userdata = val; -+ return TRUE; -+} -+ -+static inline bfd_boolean -+bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val) -+{ -+ ptr->vma = ptr->lma = val; -+ ptr->user_set_vma = TRUE; -+ return TRUE; -+} -+ -+static inline bfd_boolean -+bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val) -+{ -+ ptr->alignment_power = val; -+ return TRUE; -+} -+ - /* These sections are global, and are managed by BFD. The application - and target back end are not permitted to change the values in - these sections. */ -@@ -6415,6 +6436,14 @@ struct bfd - unsigned int selective_search : 1; - }; - -+/* See note beside bfd_set_section_userdata. */ -+static inline bfd_boolean -+bfd_set_cacheable (bfd * abfd, bfd_boolean val) -+{ -+ abfd->cacheable = val; -+ return TRUE; -+} -+ - typedef enum bfd_error - { - bfd_error_no_error = 0, -diff --git a/bfd/bfd.c b/bfd/bfd.c -index 8d0580c..2d174f3 100644 ---- a/bfd/bfd.c -+++ b/bfd/bfd.c -@@ -311,6 +311,14 @@ CODE_FRAGMENT - . unsigned int selective_search : 1; - .}; - . -+.{* See note beside bfd_set_section_userdata. *} -+.static inline bfd_boolean -+.bfd_set_cacheable (bfd * abfd, bfd_boolean val) -+.{ -+. abfd->cacheable = val; -+. return TRUE; -+.} -+. - */ - - #include "sysdep.h" -diff --git a/bfd/section.c b/bfd/section.c -index fb19d8c..a661228 100644 ---- a/bfd/section.c -+++ b/bfd/section.c -@@ -542,6 +542,32 @@ CODE_FRAGMENT - . int size; - .}; - . -+.{* Note: the following are provided as inline functions rather than macros -+. because not all callers use the return value. A macro implementation -+. would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some -+. compilers will complain about comma expressions that have no effect. *} -+.static inline bfd_boolean -+.bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val) -+.{ -+. ptr->userdata = val; -+. return TRUE; -+.} -+. -+.static inline bfd_boolean -+.bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val) -+.{ -+. ptr->vma = ptr->lma = val; -+. ptr->user_set_vma = TRUE; -+. return TRUE; -+.} -+. -+.static inline bfd_boolean -+.bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val) -+.{ -+. ptr->alignment_power = val; -+. return TRUE; -+.} -+. - .{* These sections are global, and are managed by BFD. The application - . and target back end are not permitted to change the values in - . these sections. *} diff --git a/sdcc.spec b/sdcc.spec index b97602c..adbc07b 100644 --- a/sdcc.spec +++ b/sdcc.spec @@ -1,15 +1,14 @@ Name: sdcc -Version: 3.4.0 -Release: 7%{?dist} +Version: 3.5.0 +Release: 1%{?dist} Summary: Small Device C Compiler Group: Applications/Engineering License: GPLv2+ URL: http://sdcc.sourceforge.net/ Source0: http://downloads.sourceforge.net/sdcc/sdcc-src-%{version}.tar.bz2 Source1: README.fedora -Patch0: binutils-2.24-bfd.patch +Patch0: binutils-2.25-bfd.patch Patch1: sdcc-%{version}-libiberty.patch -Patch2: sdcc-%{version}-strndup.patch BuildRequires: bison BuildRequires: boost-devel @@ -55,11 +54,8 @@ Emacs extensions for SDCC. %prep %setup -q -pushd support/sdbinutils %patch0 -p1 -popd %patch1 -p1 -%patch2 -p1 find -name '*.{c,h,cc}' -exec chmod -x '{}' \; # Disable brp-strip-static-archive for now because it errors trying to @@ -71,7 +67,7 @@ find -name '*.{c,h,cc}' -exec chmod -x '{}' \; # Preset PDFOPT to /bin/cp OPTS='PDFOPT="/bin/cp"' -%configure --enable-doc STRIP=: ${OPTS} +%configure --enable-doc --disable-non-free STRIP=: ${OPTS} %{__make} Q= QUIET= @@ -84,8 +80,6 @@ mv $RPM_BUILD_ROOT%{_bindir}/*.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp find $RPM_BUILD_ROOT -type f -name \*.c -exec chmod a-x '{}' \; mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/sdcc mv $RPM_BUILD_ROOT%{_bindir}/* $RPM_BUILD_ROOT%{_libexecdir}/sdcc -# remove non-free component -rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/non-free # Create launch scripts in _bindir @@ -124,6 +118,10 @@ popd %changelog +* Sat Jul 04 2015 Roy Rankin - 3.5.0-1 +- Update to upstream release 3.5.0 +- Use new --disable-non-free flag in configure + * Mon Jun 29 2015 Jaromir Capik - 3.4.0-7 - Adapting the brp-strip-static-archive hack to work on epel7 too @@ -131,9 +129,6 @@ popd - Applying the PDFOPT hack unconditionally - Cleaning the spec -* Fri Jun 19 2015 Fedora Release Engineering - 3.4.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - * Tue Jan 27 2015 Petr Machata - 3.4.0-4 - Rebuild for boost 1.57.0 diff --git a/sources b/sources index 9a7da7f..0e1e782 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -92db2ea2526f6cef412547bb1e759a48 sdcc-src-3.4.0.tar.bz2 -40ac3e0ed7033016dc83656e638bdfa7 sdcc-3.4.0-libiberty.patch -5165f2cc79eb5e996e0cf11b8a0573cd sdcc-3.4.0-strndup.patch +e0a1df72747c481cdedbbd328b0fceae sdcc-src-3.5.0.tar.bz2 +2d00ae5e4c7431f93945d0be232fdab5 binutils-2.25-bfd.patch +40ac3e0ed7033016dc83656e638bdfa7 sdcc-3.5.0-libiberty.patch