From cc7c892f5b74db49d4bdd6e3817e7340f128aa45 Mon Sep 17 00:00:00 2001 From: nbd Date: Wed, 10 Oct 2012 13:26:27 +0000 Subject: move a few development packages to trunk and add myself as a maintainer git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33705 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/devel/binutils/Makefile | 115 +++++++++++++++ package/devel/oprofile/Makefile | 91 ++++++++++++ .../100-use_insmod_instead_of_modprobe.patch | 20 +++ .../oprofile/patches/101-remove_24_support.patch | 64 ++++++++ package/devel/valgrind/Makefile | 164 +++++++++++++++++++++ package/devel/valgrind/files/default.supp | 42 ++++++ .../valgrind/patches/100-fix_configure_check.patch | 11 ++ .../devel/valgrind/patches/110-add_a_out_h.patch | 157 ++++++++++++++++++++ package/devel/valgrind/src/abort.c | 3 + 9 files changed, 667 insertions(+) create mode 100644 package/devel/binutils/Makefile create mode 100644 package/devel/oprofile/Makefile create mode 100644 package/devel/oprofile/patches/100-use_insmod_instead_of_modprobe.patch create mode 100644 package/devel/oprofile/patches/101-remove_24_support.patch create mode 100644 package/devel/valgrind/Makefile create mode 100644 package/devel/valgrind/files/default.supp create mode 100644 package/devel/valgrind/patches/100-fix_configure_check.patch create mode 100644 package/devel/valgrind/patches/110-add_a_out_h.patch create mode 100644 package/devel/valgrind/src/abort.c (limited to 'package/devel') diff --git a/package/devel/binutils/Makefile b/package/devel/binutils/Makefile new file mode 100644 index 000000000..09710d4b9 --- /dev/null +++ b/package/devel/binutils/Makefile @@ -0,0 +1,115 @@ +# +# Copyright (C) 2006-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=binutils +PKG_VERSION:=$(strip $(subst ",, $(CONFIG_BINUTILS_VERSION))) +#")) +PKG_RELEASE:=5 + +PKG_SOURCE_URL:=@GNU/binutils +PKG_SOURCE:=binutils-$(PKG_VERSION).tar.bz2 +PKG_MD5SUM:= + +PATCH_DIR:=$(TOPDIR)/toolchain/binutils/patches/$(PKG_VERSION) + +PKG_FIXUP:=autoreconf +PKG_LIBTOOL_PATHS:=. gas bfd opcodes gprof binutils ld libiberty gold intl +PKG_REMOVE_FILES:=libtool.m4 +PKG_INSTALL:=1 + +PKG_MAINTAINER:=Felix Fietkau + +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/binutils + SECTION:=devel + CATEGORY:=Development + TITLE:=binutils + DEPENDS:=+objdump +endef + +define Package/objdump + SECTION:=devel + CATEGORY:=Development + TITLE:=objdump + DEPENDS:=+zlib +endef + +define Package/binutils/description + The Binutils package contains a linker, an assembler, and other tools for handling object files +endef + +CONFIGURE_ARGS = \ + --target=$(REAL_GNU_TARGET_NAME) \ + --host=$(REAL_GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --prefix=/usr \ + --disable-multilib \ + --disable-werror \ + --disable-nls \ + --enable-shared \ + $(SOFT_FLOAT_CONFIG_OPTION) \ + $(call qstrip,$(CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS)) + +TARGET_CFLAGS += $(FPIC) +TARGET_LDFLAGS := -L$(PKG_BUILD_DIR)/libiberty $(TARGET_LDFLAGS) + +define Build/Configure + $(call Build/Configure/Default) + $(call Build/Compile/Default, \ + configure-bfd \ + configure-binutils \ + configure-etc \ + configure-gas \ + configure-gprof \ + configure-intl \ + configure-ld \ + configure-libiberty \ + configure-opcodes \ + ) + $(MAKE) CFLAGS="$(TARGET_CFLAGS)" -C $(PKG_BUILD_DIR)/bfd/po Makefile +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/{lib,include} + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/* \ + $(1)/usr/lib/ + $(CP) \ + $(PKG_BUILD_DIR)/include/*.h \ + $(1)/usr/include/ + $(CP) \ + $(PKG_INSTALL_DIR)/usr/include/* \ + $(1)/usr/include/ + rm -f $(1)/usr/include/gdbm.h +endef + +define Build/Compile + +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/bfd/doc/ CFLAGS="-I$(PKG_BUILD_DIR)/include" chew + $(call Build/Compile/Default) +endef + +define Package/objdump/install + $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/bin/objdump $(1)/usr/bin/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libopcodes*.so $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libbfd*.so $(1)/usr/lib/ +endef + +define Package/binutils/install + $(INSTALL_DIR) $(1)/usr $(1)/bin + $(CP) $(PKG_INSTALL_DIR)/usr/bin/ $(1)/usr/ + mv $(1)/usr/bin/strings $(1)/bin/strings + rm -f $(1)/usr/bin/objdump +endef + +$(eval $(call BuildPackage,binutils)) +$(eval $(call BuildPackage,objdump)) diff --git a/package/devel/oprofile/Makefile b/package/devel/oprofile/Makefile new file mode 100644 index 000000000..884c54bc3 --- /dev/null +++ b/package/devel/oprofile/Makefile @@ -0,0 +1,91 @@ +# +# Copyright (C) 2009-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=oprofile +PKG_VERSION:=0.9.7 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=@SF/oprofile/ +PKG_MD5SUM:=8b5d1d9b65f84420bcc3234777ad3be3 + +PKG_MAINTAINER:=Felix Fietkau + +PKG_BUILD_DEPENDS:=binutils +PKG_FIXUP:=autoreconf +PKG_INSTALL:=1 +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/kernel.mk + +define Package/oprofile + SECTION:=devel + CATEGORY:=Development + TITLE:=OProfile System Profiler + URL:=http://oprofile.sourceforge.net + DEPENDS:=+libpopt +kmod-oprofile +libstdcpp +objdump +endef + +define Package/oprofile/description + A transparent low-overhead system-wide profiler. +endef + +define Package/oprofile-utils + SECTION:=devel + CATEGORY:=Development + TITLE:=OProfile System Profiler (extra utilities) + URL:=http://oprofile.sourceforge.net + DEPENDS:=oprofile +endef + +define Build/Configure + $(call Build/Configure/Default, \ + --with-kernel-support \ + --without-x \ + ) +endef + +TARGET_CXXFLAGS += -fpermissive +TARGET_LDFLAGS := -L$(STAGING_DIR)/usr/lib $(TARGET_LDFLAGS) + +define Package/oprofile-utils/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) \ + $(PKG_INSTALL_DIR)/usr/bin/opannotate \ + $(PKG_INSTALL_DIR)/usr/bin/oparchive \ + $(PKG_INSTALL_DIR)/usr/bin/opgprof \ + $(1)/usr/bin +endef + +define Package/oprofile/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) \ + $(PKG_INSTALL_DIR)/usr/bin/* \ + $(1)/usr/bin + + rm -f \ + $(1)/usr/bin/opannotate \ + $(1)/usr/bin/oparchive \ + $(1)/usr/bin/opgprof + + $(INSTALL_DIR) $(1)/usr/lib/oprofile + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/oprofile/*.so* \ + $(1)/usr/lib/oprofile/ + + $(INSTALL_DIR) $(1)/usr/share/oprofile + $(CP) \ + $(PKG_INSTALL_DIR)/usr/share/oprofile/stl.pat \ + $(PKG_INSTALL_DIR)/usr/share/oprofile/$(patsubst x86,i386,$(LINUX_KARCH)) \ + $(1)/usr/share/oprofile/ +endef + +$(eval $(call BuildPackage,oprofile)) +$(eval $(call BuildPackage,oprofile-utils)) diff --git a/package/devel/oprofile/patches/100-use_insmod_instead_of_modprobe.patch b/package/devel/oprofile/patches/100-use_insmod_instead_of_modprobe.patch new file mode 100644 index 000000000..10107980a --- /dev/null +++ b/package/devel/oprofile/patches/100-use_insmod_instead_of_modprobe.patch @@ -0,0 +1,20 @@ +--- a/utils/opcontrol ++++ b/utils/opcontrol +@@ -248,7 +248,7 @@ load_module_26() + { + grep oprofilefs /proc/filesystems >/dev/null + if test "$?" -ne 0; then +- modprobe oprofile ++ insmod oprofile + if test "$?" != "0"; then + # couldn't load the module + return +@@ -278,7 +278,7 @@ load_module_24() + { + grep oprof /proc/devices >/dev/null + if test "$?" -ne 0; then +- modprobe oprofile ++ insmod oprofile + if test "$?" != "0"; then + # couldn't load a module + return diff --git a/package/devel/oprofile/patches/101-remove_24_support.patch b/package/devel/oprofile/patches/101-remove_24_support.patch new file mode 100644 index 000000000..99eb928c4 --- /dev/null +++ b/package/devel/oprofile/patches/101-remove_24_support.patch @@ -0,0 +1,64 @@ +--- a/daemon/Makefile.am ++++ b/daemon/Makefile.am +@@ -1,4 +1,4 @@ +-SUBDIRS = liblegacy . ++SUBDIRS = . + + oprofiled_SOURCES = \ + init.c \ +@@ -49,7 +49,6 @@ AM_CFLAGS = @OP_CFLAGS@ -fno-omit-frame- + bin_PROGRAMS = oprofiled + + oprofiled_LDADD = \ +- liblegacy/liblegacy.a \ + ../libabi/libabi.a \ + ../libdb/libodb.a \ + ../libop/libop.a \ +--- a/daemon/Makefile.in ++++ b/daemon/Makefile.in +@@ -70,7 +70,7 @@ am_oprofiled_OBJECTS = init.$(OBJEXT) op + opd_extended.$(OBJEXT) opd_ibs.$(OBJEXT) \ + opd_ibs_trans.$(OBJEXT) + oprofiled_OBJECTS = $(am_oprofiled_OBJECTS) +-oprofiled_DEPENDENCIES = liblegacy/liblegacy.a ../libabi/libabi.a \ ++oprofiled_DEPENDENCIES = ../libabi/libabi.a \ + ../libdb/libodb.a ../libop/libop.a ../libutil/libutil.a + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) + depcomp = $(SHELL) $(top_srcdir)/depcomp +@@ -285,7 +285,7 @@ top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + topdir = @topdir@ +-SUBDIRS = liblegacy . ++SUBDIRS = . + oprofiled_SOURCES = \ + init.c \ + oprofiled.c \ +@@ -331,7 +331,6 @@ AM_CPPFLAGS = \ + # -fno-omit-frame-pointer needed for daemon build: see ChangeLog-2004 02-23 + AM_CFLAGS = @OP_CFLAGS@ -fno-omit-frame-pointer + oprofiled_LDADD = \ +- liblegacy/liblegacy.a \ + ../libabi/libabi.a \ + ../libdb/libodb.a \ + ../libop/libop.a \ +--- a/daemon/oprofiled.c ++++ b/daemon/oprofiled.c +@@ -77,7 +77,6 @@ static char * events; + static char * ext_feature; + static int showvers; + static struct oprofiled_ops * opd_ops; +-extern struct oprofiled_ops opd_24_ops; + extern struct oprofiled_ops opd_26_ops; + + #define OPD_IMAGE_FILTER_HASH_SIZE 32 +@@ -477,9 +476,6 @@ static void opd_options(int argc, char c + static struct oprofiled_ops * get_ops(void) + { + switch (op_get_interface()) { +- case OP_INTERFACE_24: +- printf("Using 2.4 OProfile kernel interface.\n"); +- return &opd_24_ops; + case OP_INTERFACE_26: + printf("Using 2.6+ OProfile kernel interface.\n"); + return &opd_26_ops; diff --git a/package/devel/valgrind/Makefile b/package/devel/valgrind/Makefile new file mode 100644 index 000000000..c4f36979e --- /dev/null +++ b/package/devel/valgrind/Makefile @@ -0,0 +1,164 @@ +# +# Copyright (C) 2006-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=valgrind +PKG_VERSION:=3.8.0 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL:=http://valgrind.org/downloads/ +PKG_MD5SUM:=ec04dfd1256307432b2a7b520398c526 + +PKG_MAINTAINER:=Felix Fietkau + +PKG_FIXUP = autoreconf +PKG_INSTALL := 1 + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/kernel.mk + +define Package/valgrind + SECTION:=utils + CATEGORY:=Utilities + DEPENDS:=@mips||mipsel||i386||powerpc||TARGET_omap4 +libpthread +librt + TITLE:=debugging and profiling tools for Linux + URL:=http://www.valgrind.org +endef + +define Package/valgrind/default + $(Package/valgrind) + DEPENDS := valgrind +endef + +define Package/valgrind-cachegrind + $(Package/valgrind/default) + TITLE += (cache profiling) +endef + +define Package/valgrind-callgrind + $(Package/valgrind/default) + TITLE += (callgraph profiling) +endef + +define Package/valgrind-drd + $(Package/valgrind/default) + TITLE += (thread error detection) +endef + +define Package/valgrind-massif + $(Package/valgrind/default) + TITLE += (heap profiling) +endef + +define Package/valgrind-helgrind + $(Package/valgrind/default) + TITLE += (thread debugging) +endef + +define Package/valgrind-vgdb + $(Package/valgrind/default) + TITLE += (GDB interface) +endef + +define Package/valgrind/description + Valgrind is an award-winning suite of tools for debugging and + profiling Linux programs. With the tools that come with Valgrind, + you can automatically detect many memory management and threading + bugs, avoiding hours of frustrating bug-hunting, making your + programs more stable. You can also perform detailed profiling, + to speed up and reduce memory use of your programs. +endef + +CPU := $(patsubst x86,i386,$(LINUX_KARCH)) + +CONFIGURE_VARS += \ + UNAME_R=$(LINUX_VERSION) + +CONFIGURE_ARGS += \ + --enable-only32bit \ + --enable-tls \ + --without-x \ + --without-uiout \ + --disable-valgrindmi \ + --disable-tui \ + --disable-valgrindtk \ + --without-included-gettext + +define Package/valgrind/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/valgrind* $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/usr/lib/valgrind + $(CP) \ + ./files/default.supp \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/none-* \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_core*.so \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/$(CPU)-*.xml \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/32bit-core*.xml \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/32bit-linux*.xml \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/memcheck-* \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_memcheck*.so \ + $(1)/usr/lib/valgrind/ +endef + +define Package/valgrind-cachegrind/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cg_* $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/usr/lib/valgrind + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/cachegrind-* \ + $(1)/usr/lib/valgrind/ +endef + +define Package/valgrind-callgrind/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/callgrind* $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/usr/lib/valgrind + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/callgrind-* \ + $(1)/usr/lib/valgrind/ +endef + +define Package/valgrind-drd/install + $(INSTALL_DIR) $(1)/usr/lib/valgrind + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/drd-* \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_drd*.so \ + $(1)/usr/lib/valgrind/ +endef + +define Package/valgrind-massif/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ms_print $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/usr/lib/valgrind + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/massif-* \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_massif*.so \ + $(1)/usr/lib/valgrind/ +endef + +define Package/valgrind-helgrind/install + $(INSTALL_DIR) $(1)/usr/lib/valgrind + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/helgrind-* \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_helgrind*.so \ + $(1)/usr/lib/valgrind/ +endef + +define Package/valgrind-vgdb/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vgdb $(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,valgrind)) +$(eval $(call BuildPackage,valgrind-cachegrind)) +$(eval $(call BuildPackage,valgrind-callgrind)) +$(eval $(call BuildPackage,valgrind-drd)) +$(eval $(call BuildPackage,valgrind-massif)) +$(eval $(call BuildPackage,valgrind-helgrind)) +$(eval $(call BuildPackage,valgrind-vgdb)) diff --git a/package/devel/valgrind/files/default.supp b/package/devel/valgrind/files/default.supp new file mode 100644 index 000000000..beff55984 --- /dev/null +++ b/package/devel/valgrind/files/default.supp @@ -0,0 +1,42 @@ +{ + ld(Addr1) + Memcheck:Addr1 + fun:* + obj:/lib/ld-* +} +{ + ld(Addr2) + Memcheck:Addr2 + fun:* + obj:/lib/ld-* +} +{ + ld(Addr4) + Memcheck:Addr4 + fun:* + obj:/lib/ld-* +} +{ + ld(Cond) + Memcheck:Cond + fun:* + obj:/lib/ld-* +} +{ + strlen(Cond) + Memcheck:Cond + fun:strlen + fun:* +} +{ + strnlen(Cond) + Memcheck:Cond + fun:strnlen + fun:* +} +{ + index(Cond) + Memcheck:Cond + fun:index + fun:* +} diff --git a/package/devel/valgrind/patches/100-fix_configure_check.patch b/package/devel/valgrind/patches/100-fix_configure_check.patch new file mode 100644 index 000000000..b06cc3bf7 --- /dev/null +++ b/package/devel/valgrind/patches/100-fix_configure_check.patch @@ -0,0 +1,11 @@ +--- a/configure.in ++++ b/configure.in +@@ -260,7 +260,7 @@ case "${host_os}" in + # Ok, this is linux. Check the kernel version + AC_MSG_CHECKING([for the kernel version]) + +- kernel=`uname -r` ++ kernel=${UNAME_R:-`uname -r`} + + case "${kernel}" in + 2.6.*|3.*) diff --git a/package/devel/valgrind/patches/110-add_a_out_h.patch b/package/devel/valgrind/patches/110-add_a_out_h.patch new file mode 100644 index 000000000..7d95fb340 --- /dev/null +++ b/package/devel/valgrind/patches/110-add_a_out_h.patch @@ -0,0 +1,157 @@ +--- /dev/null ++++ b/include/a.out.h +@@ -0,0 +1,138 @@ ++#ifndef __A_OUT_GNU_H__ ++#define __A_OUT_GNU_H__ ++ ++#include ++ ++#define __GNU_EXEC_MACROS__ ++ ++struct exec ++{ ++ unsigned long a_info; /* Use macros N_MAGIC, etc for access. */ ++ unsigned int a_text; /* Length of text, in bytes. */ ++ unsigned int a_data; /* Length of data, in bytes. */ ++ unsigned int a_bss; /* Length of uninitialized data area for file, in bytes. */ ++ unsigned int a_syms; /* Length of symbol table data in file, in bytes. */ ++ unsigned int a_entry; /* Start address. */ ++ unsigned int a_trsize;/* Length of relocation info for text, in bytes. */ ++ unsigned int a_drsize;/* Length of relocation info for data, in bytes. */ ++}; ++ ++enum machine_type ++{ ++ M_OLDSUN2 = 0, ++ M_68010 = 1, ++ M_68020 = 2, ++ M_SPARC = 3, ++ M_386 = 100, ++ M_MIPS1 = 151, ++ M_MIPS2 = 152 ++}; ++ ++#define N_MAGIC(exec) ((exec).a_info & 0xffff) ++#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff)) ++#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff) ++#define N_SET_INFO(exec, magic, type, flags) \ ++ ((exec).a_info = ((magic) & 0xffff) \ ++ | (((int)(type) & 0xff) << 16) \ ++ | (((flags) & 0xff) << 24)) ++#define N_SET_MAGIC(exec, magic) \ ++ ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff)) ++#define N_SET_MACHTYPE(exec, machtype) \ ++ ((exec).a_info = \ ++ ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16)) ++#define N_SET_FLAGS(exec, flags) \ ++ ((exec).a_info = \ ++ ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24)) ++ ++/* Code indicating object file or impure executable. */ ++#define OMAGIC 0407 ++/* Code indicating pure executable. */ ++#define NMAGIC 0410 ++/* Code indicating demand-paged executable. */ ++#define ZMAGIC 0413 ++/* This indicates a demand-paged executable with the header in the text. ++ The first page is unmapped to help trap NULL pointer references. */ ++#define QMAGIC 0314 ++/* Code indicating core file. */ ++#define CMAGIC 0421 ++ ++#define N_TRSIZE(a) ((a).a_trsize) ++#define N_DRSIZE(a) ((a).a_drsize) ++#define N_SYMSIZE(a) ((a).a_syms) ++#define N_BADMAG(x) \ ++ (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ ++ && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC) ++#define _N_HDROFF(x) (1024 - sizeof (struct exec)) ++#define N_TXTOFF(x) \ ++ (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : \ ++ (N_MAGIC(x) == QMAGIC ? 0 : sizeof (struct exec))) ++#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) ++#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) ++#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x)) ++#define N_SYMOFF(x) (N_DRELOFF(x) + N_DRSIZE(x)) ++#define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x)) ++ ++/* Address of text segment in memory after it is loaded. */ ++#define N_TXTADDR(x) (N_MAGIC(x) == QMAGIC ? 4096 : 0) ++ ++/* Address of data segment in memory after it is loaded. */ ++#define SEGMENT_SIZE 1024 ++ ++#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) ++#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) ++ ++#define N_DATADDR(x) \ ++ (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x)) \ ++ : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) ++#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) ++ ++#if !defined (N_NLIST_DECLARED) ++struct nlist ++{ ++ union ++ { ++ char *n_name; ++ struct nlist *n_next; ++ long n_strx; ++ } n_un; ++ unsigned char n_type; ++ char n_other; ++ short n_desc; ++ unsigned long n_value; ++}; ++#endif /* no N_NLIST_DECLARED. */ ++ ++#define N_UNDF 0 ++#define N_ABS 2 ++#define N_TEXT 4 ++#define N_DATA 6 ++#define N_BSS 8 ++#define N_FN 15 ++#define N_EXT 1 ++#define N_TYPE 036 ++#define N_STAB 0340 ++#define N_INDR 0xa ++#define N_SETA 0x14 /* Absolute set element symbol. */ ++#define N_SETT 0x16 /* Text set element symbol. */ ++#define N_SETD 0x18 /* Data set element symbol. */ ++#define N_SETB 0x1A /* Bss set element symbol. */ ++#define N_SETV 0x1C /* Pointer to set vector in data area. */ ++ ++#if !defined (N_RELOCATION_INFO_DECLARED) ++/* This structure describes a single relocation to be performed. ++ The text-relocation section of the file is a vector of these structures, ++ all of which apply to the text section. ++ Likewise, the data-relocation section applies to the data section. */ ++ ++struct relocation_info ++{ ++ int r_address; ++ unsigned int r_symbolnum:24; ++ unsigned int r_pcrel:1; ++ unsigned int r_length:2; ++ unsigned int r_extern:1; ++ unsigned int r_pad:4; ++}; ++#endif /* no N_RELOCATION_INFO_DECLARED. */ ++ ++#endif /* __A_OUT_GNU_H__ */ +--- /dev/null ++++ b/include/bits/a.out.h +@@ -0,0 +1,13 @@ ++#ifndef __A_OUT_GNU_H__ ++# error "Never use directly; include instead." ++#endif ++ ++#include ++ ++#if __WORDSIZE == 64 ++ ++/* Signal to users of this header that this architecture really doesn't ++ support a.out binary format. */ ++#define __NO_A_OUT_SUPPORT 1 ++ ++#endif diff --git a/package/devel/valgrind/src/abort.c b/package/devel/valgrind/src/abort.c new file mode 100644 index 000000000..0b4ad98e3 --- /dev/null +++ b/package/devel/valgrind/src/abort.c @@ -0,0 +1,3 @@ +void abort(void) +{ +} -- cgit v1.2.3