mirror of
https://github.com/dslm4515/BMLFS.git
synced 2025-07-25 17:11:16 +00:00
igt-gpu-tools requires libdw from elfutils
This commit is contained in:
81
build-scripts/elfutils.build
Normal file
81
build-scripts/elfutils.build
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
# elfutils
|
||||||
|
# Source: https://sourceware.org/elfutils/ftp/0.186/elfutils-0.186.tar.bz2
|
||||||
|
#
|
||||||
|
# $BUILD = Directory to temporarily install
|
||||||
|
# $PKGS = Directory to store built packages
|
||||||
|
#
|
||||||
|
# DEPS
|
||||||
|
# Required: NONE
|
||||||
|
# Recommended: NONE
|
||||||
|
# Optional: NONE
|
||||||
|
|
||||||
|
patch -Np1 -i ../patches/elfutils-alpine/fix-aarch64_fregs.patch
|
||||||
|
patch -Np1 -i ../patches/elfutils-alpine/fix-uninitialized.patch
|
||||||
|
patch -Np1 -i ../patches/elfutils-alpine/musl-asm-ptrace-h.patch
|
||||||
|
patch -Np1 -i ../patches/elfutils-alpine/musl-macros.patch
|
||||||
|
patch -Np1 -i ../patches/elfutils-alpine/musl-strndupa.patch
|
||||||
|
cp -v ../files/elfutils-alpine/error.h src/
|
||||||
|
cp -v ../files/elfutils-alpine/error.h lib/
|
||||||
|
cat > lib/libintl.h <<-EOF
|
||||||
|
#ifndef LIBINTL_H
|
||||||
|
#define LIBINTL_H
|
||||||
|
#define _(x) (x)
|
||||||
|
#endif
|
||||||
|
EOF
|
||||||
|
|
||||||
|
CFLAGS="$CFLAGS -Wno-error -Wno-null-dereference" \
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--mandir=/usr/share/man \
|
||||||
|
--localstatedir=/var \
|
||||||
|
--disable-werror \
|
||||||
|
--program-prefix=eu- \
|
||||||
|
--enable-deterministic-archives \
|
||||||
|
--disable-nls \
|
||||||
|
--disable-libdebuginfod \
|
||||||
|
--disable-debuginfo \
|
||||||
|
--disable-debuginfod
|
||||||
|
|
||||||
|
read -p "Compile?" && make -j2 &&
|
||||||
|
|
||||||
|
sudo -S make DESTDIR=$BUILD install &&
|
||||||
|
sudo -S mkdir -pv /BMAN/install /BMAN/usr && \
|
||||||
|
sudo -S mv $BUILD/usr/share /BMAN/usr/ && \
|
||||||
|
|
||||||
|
cd $BUILD && sudo -S mkdir -v ${BUILD}/install &&
|
||||||
|
cat > /tmp/slack-desc << "EOF"
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|'
|
||||||
|
# on the right side marks the last column you can put a character in. You must
|
||||||
|
# make exactly 11 lines for the formatting to be correct. It's also
|
||||||
|
# customary to leave one space after the ':' except on otherwise blank lines.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
elfutils: Elfutils
|
||||||
|
elfutils:
|
||||||
|
elfutils: A collection of utilities, including stack (to show backtraces), nm
|
||||||
|
elfutils: (for listing symbols from object files), size (for listing the section
|
||||||
|
elfutils: sizes of an object or archive file), strip (for discarding symbols),
|
||||||
|
elfutils: readelf (to see the raw ELF file structures), and elflint (to check
|
||||||
|
elfutils: for well-formed ELF files).
|
||||||
|
elfutils:
|
||||||
|
elfutils: ftp://sourceware.org/pub/elfutils/
|
||||||
|
elfutils:
|
||||||
|
EOF
|
||||||
|
sudo -S mv -v /tmp/slack-desc install/ &&
|
||||||
|
sudo -S makepkg -l y -c n $PKGS/elfutils-0.186-$(uname -m)-mlfs.txz && \
|
||||||
|
cd /BMAN && \
|
||||||
|
cat > /tmp/slack-desc << "EOF"
|
||||||
|
elfutils-doc: Manuals for Elfutils
|
||||||
|
elfutils-doc:
|
||||||
|
elfutils-doc: A collection of utilities for checking and testing ELF files
|
||||||
|
elfutils-doc:
|
||||||
|
elfutils-doc: ftp://sourceware.org/pub/elfutils/
|
||||||
|
elfutils-doc:
|
||||||
|
EOF
|
||||||
|
sudo -S mv -v /tmp/slack-desc install/ &&
|
||||||
|
sudo -S makepkg -l y -c n $PKGS/elfutils-doc-0.186-noarch-mlfs.txz && \
|
||||||
|
sudo -S rm -rf ${BUILD}/* /BMAN/*
|
27
files/elfutils-alpine/error.h
Normal file
27
files/elfutils-alpine/error.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#ifndef _ERROR_H_
|
||||||
|
#define _ERROR_H_
|
||||||
|
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
static unsigned int error_message_count = 0;
|
||||||
|
|
||||||
|
static inline void error(int status, int errnum, const char* format, ...)
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
fprintf(stderr, "%s: ", program_invocation_name);
|
||||||
|
va_start(ap, format);
|
||||||
|
vfprintf(stderr, format, ap);
|
||||||
|
va_end(ap);
|
||||||
|
if (errnum)
|
||||||
|
fprintf(stderr, ": %s", strerror(errnum));
|
||||||
|
fprintf(stderr, "\n");
|
||||||
|
error_message_count++;
|
||||||
|
if (status)
|
||||||
|
exit(status);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* _ERROR_H_ */
|
14
patches/elfutils-alpine/fix-aarch64_fregs.patch
Normal file
14
patches/elfutils-alpine/fix-aarch64_fregs.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
It looks like fregs.vregs[] is an array of double?
|
||||||
|
Casting to Dwarf_Word instead of & 0xFFFFFFF should do.
|
||||||
|
|
||||||
|
--- a/backends/aarch64_initreg.c 2015-11-27 14:36:29.000000000 +0100
|
||||||
|
+++ b/backends/aarch64_initreg.c 2016-08-09 03:47:25.428560159 +0200
|
||||||
|
@@ -82,7 +82,7 @@
|
||||||
|
|
||||||
|
Dwarf_Word dwarf_fregs[32];
|
||||||
|
for (int r = 0; r < 32; r++)
|
||||||
|
- dwarf_fregs[r] = fregs.vregs[r] & 0xFFFFFFFF;
|
||||||
|
+ dwarf_fregs[r] = (Dwarf_Word)fregs.vregs[r];
|
||||||
|
|
||||||
|
if (! setfunc (64, 32, dwarf_fregs, arg))
|
||||||
|
return false;
|
17
patches/elfutils-alpine/fix-uninitialized.patch
Normal file
17
patches/elfutils-alpine/fix-uninitialized.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
|
||||||
|
--- a/libcpu/i386_disasm.c 2015-08-21 14:22:37.000000000 +0200
|
||||||
|
+++ b/libcpu/i386_disasm.c 2015-11-20 06:30:59.250629957 +0100
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-/* Disassembler for x86.
|
||||||
|
+/* Disassembler for x86.
|
||||||
|
Copyright (C) 2007, 2008, 2009, 2011 Red Hat, Inc.
|
||||||
|
This file is part of elfutils.
|
||||||
|
Written by Ulrich Drepper <drepper@redhat.com>, 2007.
|
||||||
|
@@ -710,6 +710,7 @@
|
||||||
|
|
||||||
|
case 'm':
|
||||||
|
/* Mnemonic. */
|
||||||
|
+ str = mnebuf;
|
||||||
|
|
||||||
|
if (unlikely (instrtab[cnt].mnemonic == MNE_INVALID))
|
||||||
|
{
|
10
patches/elfutils-alpine/musl-asm-ptrace-h.patch
Normal file
10
patches/elfutils-alpine/musl-asm-ptrace-h.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--- a/backends/ppc_initreg.c 2019-11-26 23:48:42.000000000 +0100
|
||||||
|
+++ b/backends/ppc_initreg.c 2019-12-08 16:57:58.334872602 +0100
|
||||||
|
@@ -32,6 +32,7 @@
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#if defined(__powerpc__) && defined(__linux__)
|
||||||
|
+# include <asm/ptrace.h>
|
||||||
|
# include <sys/ptrace.h>
|
||||||
|
# include <sys/user.h>
|
||||||
|
#endif
|
87
patches/elfutils-alpine/musl-macros.patch
Normal file
87
patches/elfutils-alpine/musl-macros.patch
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
--- a/src/arlib.h 2015-08-21 14:22:37.000000000 +0200
|
||||||
|
+++ b/src/arlib.h 2015-11-20 08:02:55.153199611 +0100
|
||||||
|
@@ -29,6 +29,16 @@
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
+#if !defined(ACCESSPERMS)
|
||||||
|
+# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */
|
||||||
|
+#endif
|
||||||
|
+#if !defined(ALLPERMS)
|
||||||
|
+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */
|
||||||
|
+#endif
|
||||||
|
+#if !defined(DEFFILEMODE)
|
||||||
|
+# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
|
||||||
|
/* State of -D/-U flags. */
|
||||||
|
extern bool arlib_deterministic_output;
|
||||||
|
--- a/src/elfcompress.c.orig 2016-04-02 12:51:26.903848894 +0200
|
||||||
|
+++ b/src/elfcompress.c 2016-04-02 12:55:15.076996338 +0200
|
||||||
|
@@ -35,6 +35,14 @@
|
||||||
|
#include <gelf.h>
|
||||||
|
#include "system.h"
|
||||||
|
|
||||||
|
+#if !defined(FNM_EXTMATCH)
|
||||||
|
+# define FNM_EXTMATCH 0
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(ALLPERMS)
|
||||||
|
+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/* Name and version of program. */
|
||||||
|
static void print_version (FILE *stream, struct argp_state *state);
|
||||||
|
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
|
||||||
|
diff --git a/lib/libeu.h b/lib/libeu.h
|
||||||
|
index 69fe3d7..e5c99b8 100644
|
||||||
|
--- a/lib/libeu.h
|
||||||
|
+++ b/lib/libeu.h
|
||||||
|
@@ -31,6 +31,27 @@
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
+#include <unistd.h>
|
||||||
|
+#include <alloca.h>
|
||||||
|
+#include <string.h>
|
||||||
|
+
|
||||||
|
+#ifndef TEMP_FAILURE_RETRY
|
||||||
|
+#define TEMP_FAILURE_RETRY(expression) \
|
||||||
|
+ (__extension__ \
|
||||||
|
+ ({ long int __result; \
|
||||||
|
+ do __result = (long int) (expression); \
|
||||||
|
+ while (__result == -1L && errno == EINTR); \
|
||||||
|
+ __result; }))
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#ifndef strndupa
|
||||||
|
+#define strndupa(s, n) \
|
||||||
|
+ (__extension__ ({const char *__in = (s); \
|
||||||
|
+ size_t __len = strnlen (__in, (n)) + 1; \
|
||||||
|
+ char *__out = (char *) alloca (__len); \
|
||||||
|
+ __out[__len-1] = '\0'; \
|
||||||
|
+ (char *) memcpy (__out, __in, __len-1);}))
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
extern void *xmalloc (size_t) __attribute__ ((__malloc__));
|
||||||
|
extern void *xcalloc (size_t, size_t) __attribute__ ((__malloc__));
|
||||||
|
diff --git a/src/strip.c b/src/strip.c
|
||||||
|
index 48792a7..d2f0c60 100644
|
||||||
|
--- a/src/strip.c
|
||||||
|
+++ b/src/strip.c
|
||||||
|
@@ -46,6 +46,14 @@
|
||||||
|
#include <system.h>
|
||||||
|
#include <printversion.h>
|
||||||
|
|
||||||
|
+#if !defined(FNM_EXTMATCH)
|
||||||
|
+# define FNM_EXTMATCH 0
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(ACCESSPERMS)
|
||||||
|
+#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO)
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
typedef uint8_t GElf_Byte;
|
||||||
|
|
||||||
|
/* Name and version of program. */
|
18
patches/elfutils-alpine/musl-strndupa.patch
Normal file
18
patches/elfutils-alpine/musl-strndupa.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
--- a/src/unstrip.c.orig 2017-04-27 14:26:26.000000000 +0000
|
||||||
|
+++ b/src/unstrip.c 2017-05-05 15:51:33.515154220 +0000
|
||||||
|
@@ -56,6 +56,15 @@
|
||||||
|
# define _(str) gettext (str)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifndef strndupa
|
||||||
|
+#define strndupa(s, n) \
|
||||||
|
+ (__extension__ ({const char *__in = (s); \
|
||||||
|
+ size_t __len = strnlen (__in, (n)) + 1; \
|
||||||
|
+ char *__out = (char *) alloca (__len); \
|
||||||
|
+ __out[__len-1] = '\0'; \
|
||||||
|
+ (char *) memcpy (__out, __in, __len-1);}))
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/* Name and version of program. */
|
||||||
|
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
|
||||||
|
|
Reference in New Issue
Block a user