elfutils: Add host build
Needed for glib2 host build:
gresource-tool.c:32:20: fatal error: libelf.h: No such file or directory
 #include <libelf.h>
Changed PKG_LICENSE to the SPDX version.
Switched build dependency for argp-standalone to !USE_GLIBC. argp is a
glibc extension. Treat it as such.
Adjusted patch to use strerror_l, which works properly with both glibc
and musl. The patch errors under glibc with:
dwfl_error.c:158:7: error: ignoring return value of 'strerror_r', declared
with attribute warn_unused_result [-Werror=unused-result]
       strerror_r (error & 0xffff, s, sizeof(s));
void casting does not fix the error.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
			
			
This commit is contained in:
		 Rosen Penev
					Rosen Penev
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							89fe1dfac2
						
					
				
				
					commit
					f4da28c301
				
			| @@ -8,23 +8,24 @@ include $(TOPDIR)/rules.mk | |||||||
|  |  | ||||||
| PKG_NAME:=elfutils | PKG_NAME:=elfutils | ||||||
| PKG_VERSION:=0.177 | PKG_VERSION:=0.177 | ||||||
| PKG_RELEASE:=1 | PKG_RELEASE:=2 | ||||||
|  |  | ||||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | ||||||
| PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION) | PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION) | ||||||
| PKG_HASH:=fa489deccbcae7d8c920f60d85906124c1989c591196d90e0fd668e3dc05042e | PKG_HASH:=fa489deccbcae7d8c920f60d85906124c1989c591196d90e0fd668e3dc05042e | ||||||
|  |  | ||||||
| PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com> | PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com> | ||||||
| PKG_LICENSE:=GPL-3.0+ | PKG_LICENSE:=GPL-3.0-or-later | ||||||
| PKG_LICENSE_FILES:=COPYING COPYING-GPLV2 COPYING-LGPLV3 | PKG_LICENSE_FILES:=COPYING COPYING-GPLV2 COPYING-LGPLV3 | ||||||
| PKG_CPE_ID:=cpe:/a:elfutils_project:elfutils | PKG_CPE_ID:=cpe:/a:elfutils_project:elfutils | ||||||
| PKG_FIXUP:=autoreconf |  | ||||||
|  |  | ||||||
|  | PKG_FIXUP:=autoreconf | ||||||
| PKG_INSTALL:=1 | PKG_INSTALL:=1 | ||||||
| PKG_USE_MIPS16:=0 | PKG_USE_MIPS16:=0 | ||||||
|  | PKG_BUILD_DEPENDS:=!USE_GLIBC:argp-standalone | ||||||
| PKG_BUILD_DEPENDS:=USE_UCLIBC:argp-standalone USE_MUSL:argp-standalone |  | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/package.mk | include $(INCLUDE_DIR)/package.mk | ||||||
|  | include $(INCLUDE_DIR)/host-build.mk | ||||||
| include $(INCLUDE_DIR)/nls.mk | include $(INCLUDE_DIR)/nls.mk | ||||||
|  |  | ||||||
| define Package/elfutils/Default | define Package/elfutils/Default | ||||||
| @@ -96,3 +97,4 @@ endef | |||||||
| $(eval $(call BuildPackage,libasm)) | $(eval $(call BuildPackage,libasm)) | ||||||
| $(eval $(call BuildPackage,libdw)) | $(eval $(call BuildPackage,libdw)) | ||||||
| $(eval $(call BuildPackage,libelf)) | $(eval $(call BuildPackage,libelf)) | ||||||
|  | $(eval $(call HostBuild)) | ||||||
|   | |||||||
| @@ -44,21 +44,12 @@ https://sourceware.org/bugzilla/show_bug.cgi?id=21002 | |||||||
|  } |  } | ||||||
| --- a/libdwfl/dwfl_error.c | --- a/libdwfl/dwfl_error.c | ||||||
| +++ b/libdwfl/dwfl_error.c | +++ b/libdwfl/dwfl_error.c | ||||||
| @@ -140,6 +140,7 @@ __libdwfl_seterrno (Dwfl_Error error) | @@ -154,7 +154,7 @@ dwfl_errmsg (int error) | ||||||
|  const char * |  | ||||||
|  dwfl_errmsg (int error) |  | ||||||
|  { |  | ||||||
| +  static __thread char s[64] = ""; |  | ||||||
|    if (error == 0 || error == -1) |  | ||||||
|      { |  | ||||||
|        int last_error = global_error; |  | ||||||
| @@ -154,7 +155,8 @@ dwfl_errmsg (int error) |  | ||||||
|    switch (error &~ 0xffff) |    switch (error &~ 0xffff) | ||||||
|      { |      { | ||||||
|      case OTHER_ERROR (ERRNO): |      case OTHER_ERROR (ERRNO): | ||||||
| -      return strerror_r (error & 0xffff, "bad", 0); | -      return strerror_r (error & 0xffff, "bad", 0); | ||||||
| +      strerror_r (error & 0xffff, s, sizeof(s)); | +      return strerror_l (error & 0xffff, LC_GLOBAL_LOCALE); | ||||||
| +      return s; |  | ||||||
|      case OTHER_ERROR (LIBELF): |      case OTHER_ERROR (LIBELF): | ||||||
|        return elf_errmsg (error & 0xffff); |        return elf_errmsg (error & 0xffff); | ||||||
|      case OTHER_ERROR (LIBDW): |      case OTHER_ERROR (LIBDW): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user