initial commit
imported from https://salsa.debian.org/kernel-team/linux.git commit 9d5cc9d9d6501d7f1dd7e194d4b245bd0b6c6a22 version 6.11.4-1
This commit is contained in:
24
debian/rules.d/tools/objtool/Makefile
vendored
Normal file
24
debian/rules.d/tools/objtool/Makefile
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
PROGS = \
|
||||
objtool \
|
||||
objtool.real-powerpc \
|
||||
objtool.real-x86
|
||||
|
||||
include $(top_rulesdir)/Makefile.inc
|
||||
|
||||
objtool.real-%:
|
||||
mkdir -p $*
|
||||
# objtool always uses HOSTCC, HOSTLD, and HOSTAR; we need to override
|
||||
# these on the command line to make cross-builds work. But it also
|
||||
# builds fixdep which still needs to be native in a cross-build. Set
|
||||
# REALHOSTCC and REALHOSTLD variables which will be used for fixdep.
|
||||
$(MAKE) -C $(top_srcdir)/tools/objtool O=$(CURDIR)/$* \
|
||||
HOSTARCH=$(KERNEL_ARCH) ARCH=$* \
|
||||
HOSTCC=$(CC) KBUILD_HOSTCFLAGS='$(CFLAGS) $(CPPFLAGS)' \
|
||||
HOSTLD=$(CROSS_COMPILE)ld KBUILD_HOSTLDFLAGS='$(LDFLAGS)' \
|
||||
HOSTAR=$(CROSS_COMPILE)ar \
|
||||
REALHOSTCC=gcc REALHOSTLD=ld \
|
||||
V=1
|
||||
ln -f $*/objtool $@
|
||||
|
||||
%: %.o
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
|
21
debian/rules.d/tools/objtool/objtool.c
vendored
Normal file
21
debian/rules.d/tools/objtool/objtool.c
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
const char *arch;
|
||||
char prog[1024];
|
||||
|
||||
arch = getenv("SRCARCH");
|
||||
if (!arch) {
|
||||
fprintf(stderr, "objtool: SRCARCH variable not defined\n");
|
||||
return 2;
|
||||
}
|
||||
|
||||
snprintf(prog, sizeof(prog), "%s.real-%s", argv[0], arch);
|
||||
execv(prog, argv);
|
||||
|
||||
fprintf(stderr, "objtool: Failed to execute %s\n", prog);
|
||||
return 1;
|
||||
}
|
Reference in New Issue
Block a user