1
0

initial commit

imported from https://salsa.debian.org/kernel-team/linux.git
commit 9d5cc9d9d6501d7f1dd7e194d4b245bd0b6c6a22
version 6.11.4-1
This commit is contained in:
2024-10-23 12:12:30 +03:00
commit c3d09a3e94
1108 changed files with 137488 additions and 0 deletions

22
debian/rules.d/scripts/mod/Makefile vendored Normal file
View File

@@ -0,0 +1,22 @@
PROGS = \
modpost \
modpost.real-lsb-32 \
modpost.real-lsb-64 \
modpost.real-msb-32 \
modpost.real-msb-64
include $(top_rulesdir)/Makefile.inc
wrapperdir = $(top_rulesdir)/$(OUTDIR)
modpost.real-%:
$(MAKE) -f $(wrapperdir)/Makefile.real TYPE=$* SOURCEDIR=$(top_srcdir)/scripts/mod
%: %.o
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
modpost-opts.h: $(top_srcdir)/scripts/mod/modpost.c
$(wrapperdir)/gendef.py $< > $@
modpost.o: modpost.c modpost-opts.h
$(CC) $(CFLAGS) $(CPPFLAGS) -I $(CURDIR) -c -o $@ $<

View File

@@ -0,0 +1,23 @@
PROGS = modpost.real-$(TYPE)
include $(top_rulesdir)/Makefile.inc
wrapperdir = $(top_rulesdir)/$(OUTDIR)
CFLAGS += -I $(CURDIR)/real-$(TYPE) -I $(wrapperdir)/real-$(TYPE)
modpost.real-$(TYPE): file2alias.real-$(TYPE).o modpost.real-$(TYPE).o sumversion.real-$(TYPE).o symsearch.real-$(TYPE).o
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
%.real-$(TYPE).o: $(SOURCEDIR)/%.c real-$(TYPE)/devicetable-offsets.h
$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
real-$(TYPE)/devicetable-offsets.s: $(SOURCEDIR)/devicetable-offsets.c
mkdir -p real-$(TYPE)
$(CC) -include $(wrapperdir)/real-$(TYPE)/types.h $(CFLAGS) $(CPPFLAGS) -nostdinc -I$(top_srcdir)/include -S -o $@ $<
real-$(TYPE)/devicetable-offsets.h: real-$(TYPE)/devicetable-offsets.s
echo >$@ "#define __DEVICEVTABLE_OFFSETS_H__"
sed -ne "s:^[[:space:]]*\.ascii[[:space:]]*\"\(.*\)\".*:\1:; \
/^->/{s:->#\(.*\):/* \1 */:; \
s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
s:->::; p;}" $< >>$@

View File

@@ -0,0 +1,7 @@
#include <endian.h>
#if __BYTE_ORDER == __LITTLE_ENDIAN
#define HOST_ELFDATA ELFDATA2LSB
#elif __BYTE_ORDER == __BIG_ENDIAN
#define HOST_ELFDATA ELFDATA2MSB
#endif

20
debian/rules.d/scripts/mod/gendef.py vendored Executable file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/python3
import re
import sys
for line in open(sys.argv[1]):
match = re.search(r'getopt\(argc, argv, "([\w:]*?)"\)', line)
if match:
options = match.group(1)
break
else:
raise RuntimeError
print('#define GETOPT_OPTIONS "%s"' % options)
print('#define GETOPT_CASE', end=' ')
for c in options:
if c == ':' or c == 'T':
continue
print("case '%c':" % c, end=' ')
print()

136
debian/rules.d/scripts/mod/modpost.c vendored Normal file
View File

@@ -0,0 +1,136 @@
#include <elf.h>
#include <errno.h>
#include <getopt.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "modpost-opts.h"
int main (int argc, char *argv[])
{
char const *data, *class;
char *list_name = NULL;
char *name = NULL;
char prog[1024];
unsigned char ei[EI_NIDENT];
int opt;
FILE *file;
while ((opt = getopt (argc, argv, GETOPT_OPTIONS)) != -1)
{
switch(opt)
{
GETOPT_CASE
break;
case 'T':
list_name = optarg;
break;
default:
return EXIT_FAILURE;
}
}
if (optind != argc)
{
name = argv[optind];
}
else if (list_name)
{
size_t name_len;
int is_stdin = strcmp (list_name, "-") == 0;
/* Read first line of list file */
if (is_stdin)
{
file = stdin;
setvbuf(stdin, NULL, _IONBF, 0); /* don't over-read */
}
else
{
file = fopen (list_name, "r");
if (!file)
{
fprintf (stderr, "Can't open \"%s\"\n", list_name);
return EXIT_FAILURE;
}
}
if (getline (&name, &name_len, file) < 0)
{
if (errno)
{
fprintf (stderr, "Can't read \"%s\"\n", list_name);
return EXIT_FAILURE;
}
else
{
/* Empty list */
return EXIT_SUCCESS;
}
}
if (!is_stdin)
fclose(file);
/* Remove new-line */
name [strcspn (name, "\n")] = 0;
/* If this came from stdin, we need to add the first name to the
* arguments, because the upstream modpost can't read it again.
*/
if (is_stdin)
{
char **new_argv = malloc (sizeof(*argv) * (argc + 2));
memcpy(new_argv, argv, sizeof(*argv) * argc);
new_argv [argc] = name;
new_argv [argc + 1] = NULL;
argv = new_argv;
}
}
else
{
/* Empty list */
return EXIT_SUCCESS;
}
if (!(file = fopen (name, "r")))
{
fprintf (stderr, "Can't open \"%s\"\n", name);
return EXIT_FAILURE;
}
if (fread (ei, 1, EI_NIDENT, file) != EI_NIDENT)
{
fprintf (stderr, "Error: input truncated\n");
return EXIT_FAILURE;
}
if (memcmp (ei, ELFMAG, SELFMAG) != 0)
{
fprintf (stderr, "Error: not ELF\n");
return EXIT_FAILURE;
}
switch (ei[EI_DATA]) {
case ELFDATA2LSB:
data = "lsb";
break;
case ELFDATA2MSB:
data = "msb";
break;
default:
return EXIT_FAILURE;
}
switch (ei[EI_CLASS]) {
case ELFCLASS32:
class = "32";
break;
case ELFCLASS64:
class = "64";
break;
default:
return EXIT_FAILURE;
}
snprintf (prog, sizeof prog, "%s.real-%s-%s", argv[0], data, class);
return execv (prog, argv);
}

View File

@@ -0,0 +1,4 @@
#define KERNEL_ELFCLASS ELFCLASS32
#define KERNEL_ELFDATA ELFDATA2LSB
#define MODULE_SYMBOL_PREFIX ""
#include "../elfconfig.h"

View File

@@ -0,0 +1,3 @@
#include "../types.h"
typedef __u32 kernel_ulong_t;
#define BITS_PER_LONG 32

View File

@@ -0,0 +1,4 @@
#define KERNEL_ELFCLASS ELFCLASS64
#define KERNEL_ELFDATA ELFDATA2LSB
#define MODULE_SYMBOL_PREFIX ""
#include "../elfconfig.h"

View File

@@ -0,0 +1,3 @@
#include "../types.h"
typedef __u64 __attribute__((aligned(8))) kernel_ulong_t;
#define BITS_PER_LONG 64

View File

@@ -0,0 +1,4 @@
#define KERNEL_ELFCLASS ELFCLASS32
#define KERNEL_ELFDATA ELFDATA2MSB
#define MODULE_SYMBOL_PREFIX ""
#include "../elfconfig.h"

View File

@@ -0,0 +1,3 @@
#include "../types.h"
typedef __u32 kernel_ulong_t;
#define BITS_PER_LONG 32

View File

@@ -0,0 +1,4 @@
#define KERNEL_ELFCLASS ELFCLASS64
#define KERNEL_ELFDATA ELFDATA2MSB
#define MODULE_SYMBOL_PREFIX ""
#include "../elfconfig.h"

View File

@@ -0,0 +1,3 @@
#include "../types.h"
typedef __u64 __attribute__((aligned(8))) kernel_ulong_t;
#define BITS_PER_LONG 64

12
debian/rules.d/scripts/mod/types.h vendored Normal file
View File

@@ -0,0 +1,12 @@
/* Minimal definitions for mod_devicetable.h and devicetable-offsets.c */
typedef unsigned char __u8;
typedef unsigned short __u16;
typedef unsigned int __u32;
typedef unsigned long long __u64;
typedef struct {
__u8 b[16];
} guid_t;
typedef guid_t uuid_le;
typedef unsigned char uuid_t[16];
#define UUID_STRING_LEN 36
#define offsetof(a,b) __builtin_offsetof(a,b)