sylware / nyanlinux (public) (License: AFFERO GPLv3) (since 2019-09-09) (hash sha1)
scripts for a lean, from scratch, amd hardware, linux distro
List of commits:
Subject Hash Author Date (UTC)
fully re-bootstrap-able new nyan (tested), started refurbishment of all packages a5960b2ca3d704285c561f48c7f5dfc71f9f1402 Sylvain BERTRAND 2021-06-16 16:39:34
gfx stack updates (vulkan glitch is being dealed by the vuklan WG itself...) 49e502b9cd9f13315d327d820884aeb589ccfb86 Sylvain BERTRAND 2021-06-16 16:20:43
gfx stack updates (vulkan still glitched, upstream told) c8ee508c966784975f41f248cc4fe9a3429a7b09 Sylvain BERTRAND 2021-06-06 15:51:37
libxkbcommon: update pulling the massive libxml2... 34ca0d7ee2e7883d5f7db6388e1bddd16f106f7c Sylvain BERTRAND 2021-06-02 17:20:31
xkeyboard-config update 137e88251076a97efe8fef04a28dcfb6e47d6def Sylvain BERTRAND 2021-06-01 22:35:15
libX11 forgot to remove the archive 3b45f942b14feb5d8929ac1763241106ed870175 Sylvain BERTRAND 2021-06-01 22:34:05
libX11 update f0fc66f1aa3f3e60d39e7940c90c6f019f46776b Sylvain BERTRAND 2021-06-01 20:12:42
st: update 44aefde69c7deacad2bcd4f5e95dd5fa8f582c25 Sylvain BERTRAND 2021-06-01 18:12:06
gfx stack updates (vulkan still glitched, upstream told) decd2f08f23e4307c67a618ec911476a2c84eaf8 Sylvain BERTRAND 2021-06-01 16:37:28
steam x86 update due to spurious overlay invokation 9f5875eb4e0c14bacf2019205807dd9ff6edeae0 Sylvain BERTRAND 2021-05-25 09:44:21
gfx stack updates (vulkan still glitched) aeaaa91c938e5eb76f75bf546c182b71e534a9c0 Sylvain BERTRAND 2021-05-23 17:03:04
busybox: stale integration commands 6ddeeb3796e5de63f7b264da26f499a480c757c0 Sylvain BERTRAND 2021-05-22 19:15:55
busybox update 957a43427e2a2ab9fc1c05c71c9dd8d88d8a968c Sylvain BERTRAND 2021-05-22 18:59:02
npv: udpate 7e69eef34778b14548c9c76c49eaa19460134f59 Sylvain BERTRAND 2021-05-16 20:54:22
gfx stack updates (no mesa update?? and vulkan seems glitched again) 0b6a40b0e1d51866f0f1f7880635c7da6c761591 Sylvain BERTRAND 2021-05-16 16:37:47
npv: update c73d47d8359cfa0fd94a446db80851eef1df1df0 Sylvain BERTRAND 2021-05-14 15:53:09
gfx stack updates ef4e2398b2bb1c55ee6b375fb791412901e2fd30 Sylvain BERTRAND 2021-05-09 15:22:08
source oriented GPT partition creator 125bf2135b399a44290da5adc5b1d04657439f13 Sylvain BERTRAND 2021-05-08 21:29:40
npv:update 787edad0188d34d183b9e68afd029eb6dbf5fa5f Sylvain BERTRAND 2021-05-06 21:00:18
npv: update ad0c8f4e7d0f061507c4024fb7cf762cb0bfdc0e Sylvain BERTRAND 2021-05-06 18:40:48
Commit a5960b2ca3d704285c561f48c7f5dfc71f9f1402 - fully re-bootstrap-able new nyan (tested), started refurbishment of all packages
Author: Sylvain BERTRAND
Author date (UTC): 2021-06-16 16:39
Committer name: Sylvain BERTRAND
Committer date (UTC): 2021-06-16 16:39
Parent(s): 49e502b9cd9f13315d327d820884aeb589ccfb86
Signer:
Signing key:
Signing status: N
Tree: 7a6ef3ad7b206b591d385fbe099ab6c02d7d4a2f
File Lines added Lines deleted
00-bootstrap-build.sh 45 0
01-re-bootstrap-build.sh 32 0
01-x86_64-nyan-linux-gnu.sh 0 59
02-nyan-cross-core.sh 0 114
03-nyan-cross-x11.sh 0 89
04-bootstrap-conf.sh 0 206
10-sdk-conf.sh 0 26
11-sdk.sh 0 57
12-desktop.sh 0 82
13-beyond.sh 0 9
INSTALL 36 15
README 0 55
builders/bc-0/builder-target.sh 0 45
builders/bison-3.7.6/builder.sh 62 0
builders/bootstrap/binutils/builder.sh 83 0
builders/bootstrap/busybox/builder.sh 49 0
builders/bootstrap/busybox/config 1 1
builders/bootstrap/cross-binutils/builder.sh 66 0
builders/bootstrap/cross-gcc/bswap16.patch 233 0
builders/bootstrap/cross-gcc/builder.sh 211 0
builders/bootstrap/cross-gcc/cfns.h 374 0
builders/bootstrap/cross-gcc/tree-sra.c.patch 30 0
builders/bootstrap/cross-gmp/builder.sh 45 0
builders/bootstrap/cross-mpc/builder.sh 41 0
builders/bootstrap/cross-mpfr/builder.sh 45 0
builders/bootstrap/gcc/bswap16.patch 233 0
builders/bootstrap/gcc/builder.sh 147 0
builders/bootstrap/gcc/cfns.h 374 0
builders/bootstrap/gcc/tree-sra.c.patch 30 0
builders/bootstrap/gmp/builder.sh 53 0
builders/bootstrap/libgcc/builder.sh 55 0
builders/bootstrap/libgcc/linux-unwind.h 202 0
builders/bootstrap/libstdc++/builder.sh 73 0
builders/bootstrap/linux-5.12.1/all.patch 1752 0
builders/bootstrap/linux-5.12.1/builder.sh 112 0
builders/bootstrap/linux-5.12.1/config 2914 0
builders/bootstrap/linux-5.12.1/init.in 3 16
builders/bootstrap/linux-5.12.1/nyan_ramfs.in 91 0
builders/bootstrap/linux-5.12.1/patches.sh 33 0
builders/bootstrap/linux-5.12.1/uevt.sh 0 0
builders/bootstrap/linux-firmware/builder.sh 14 0
builders/bootstrap/linux-headers-5.12.1/builder.sh 35 0
builders/bootstrap/linux/release.sh 91 0
builders/bootstrap/linux/src_epilog.sh 6 0
builders/bootstrap/linux/src_prolog.sh 34 0
builders/bootstrap/make/builder.sh 53 0
builders/bootstrap/mpc/builder.sh 52 0
builders/bootstrap/mpfr/builder.sh 54 0
builders/bootstrap/mudev/builder.sh 50 0
builders/bootstrap/muinit/builder.sh 46 0
builders/bootstrap/muinit/sysstart 72 0
builders/bootstrap/nyanglibc/builder.sh 55 0
builders/bootstrap/zlib/builder.sh 38 0
builders/chrony-0/builder-target.sh 0 44
builders/coreutils-0/builder-target.sh 0 74
builders/cross-binutils/builder.sh 0 42
builders/cross-gcc-compilers/builder.sh 0 32
builders/cross-gmp/builder.sh 0 24
builders/cross-mpc/builder.sh 0 26
builders/cross-mpfr/builder.sh 0 25
builders/curl-7.77.0/builder.sh 110 0
builders/dash-0/builder-target.sh 0 52
builders/dhcp-0/builder-target.sh 0 53
builders/diffutils-0/builder-target.sh 0 60
builders/dosfstools-0/builder.sh 0 33
builders/e2fsprogs-1.46.2/builder.sh 84 0
builders/ed-0/builder-target.sh 0 35
builders/expat-2.4.1/builder.sh 61 0
builders/findutils-0/builder-target.sh 0 62
builders/flex-2.6.4/builder.sh 63 0
builders/gawk-0/builder-target.sh 0 43
builders/gdb-0/builder.sh 0 44
builders/git-2.29.3/builder.sh 55 0
builders/grep-0/builder-target.sh 0 41
builders/gzip-0/builder-target.sh 0 62
builders/iproute2-0/builder-target.sh 0 43
builders/libressl-3.3.3/builder.sh 59 0
builders/m4-1.4.19/builder.sh 54 0
builders/mplayer-0/builder.sh 0 4
builders/mplayer-1/builder.sh 0 4
builders/mplayer/builder.sh 0 269
builders/nyancoreutils-0/builder-target.sh 0 31
builders/nyangpt-93ff96f81c21fa5231aaec14fbd5cbc592eb04dc/builder.sh 42 0
builders/nyankmod-0/builder-target.sh 0 42
builders/patch-0/builder-target.sh 0 38
builders/procmail-0/builder.sh 0 33
builders/procps-0/builder.sh 0 76
builders/sed-0/builder-target.sh 0 45
builders/unzip-0/builder-target.sh 0 29
builders/util-linux-0/builder-target.sh 0 102
builders/util-linux-0/util-linux.patch 0 11
builders/wget-0/builder-target.sh 0 64
builders/which-0/builder-target.sh 0 36
conf.bootstrap.sh 39 0
conf.sh 3 67
files/stunnel.sh 0 9
files/sysstart.bootstrap 0 139
pkg-build 1 1
pkg-build-target 0 18
sdk.sh 0 34
utils.sh 17 0
File 00-bootstrap-build.sh added (mode: 100755) (index 0000000..57fa426)
1 #!/bin/sh
2 set -e
3
4 # XXX: this will build and install a UEFI bootable system
5 # configure in **conf.bootstrap.sh** file, and if needed
6 # in conf.sh
7 # XXX: Don't forget to setup your PATH for the scripts to find your programs:
8 # - C compiler
9 # - binutils (assembler, linker, etc)
10 # - busybox (or equivalent)
11 # - gnu make
12 # - git
13 # - gnu m4
14 # - flex
15 # - bison
16
17 # "cross" are intended to run on the build system
18 ./pkg-build bootstrap/cross-gmp
19 ./pkg-build bootstrap/cross-mpfr
20 ./pkg-build bootstrap/cross-mpc
21 ./pkg-build bootstrap/cross-binutils
22 ./pkg-build bootstrap/nyanglibc
23 ./pkg-build bootstrap/linux-headers-5.12.1
24 # the following two pkgs are actually one, but we did split the src pkg for
25 # clarity. Moreover, libgcc build products will be linked into the internals
26 # from the cross-compiled gcc further down below
27 ./pkg-build bootstrap/cross-gcc
28 ./pkg-build bootstrap/libgcc
29 ./pkg-build bootstrap/linux-firmware
30 ./pkg-build bootstrap/busybox
31 ./pkg-build bootstrap/linux-5.12.1
32 ./pkg-build bootstrap/muinit
33 ./pkg-build bootstrap/mudev
34 #===============================================================================
35 # a C gcc toolchain for C(up to the broken c11) and that(horrible)iso c++98
36 ./pkg-build bootstrap/zlib
37 #-------------------------------------------------------------------------------
38 ./pkg-build bootstrap/binutils
39 ./pkg-build bootstrap/gmp
40 ./pkg-build bootstrap/mpfr
41 ./pkg-build bootstrap/mpc
42 ./pkg-build bootstrap/gcc
43 ./pkg-build bootstrap/libstdc++
44 #-------------------------------------------------------------------------------
45 ./pkg-build bootstrap/make
File 01-re-bootstrap-build.sh added (mode: 100755) (index 0000000..6257b09)
1 #!/bin/sh
2 set -e
3
4 # On the bootstrap system, it will build what is required to re-bootstrap it,
5 # namely partitioning/formatting a device and run 00-bootstrap.sh.
6 # Don't forget to setup the "current" link of the version you want to use.
7
8 # git
9 ./pkg-build libressl-3.3.3
10 ln -sTf 3.3.3 /nyan/libressl/current
11 ./pkg-build expat-2.4.1
12 ln -sTf 2.4.1 /nyan/expat/current
13 ./pkg-build curl-7.77.0
14 ln -sTf 7.77.0 /nyan/curl/current
15 ./pkg-build git-2.29.3
16 ln -sTf 2.29.3 /nyan/git/current
17
18 # m4 for gmp/bison/flex sdk
19 ./pkg-build m4-1.4.19
20 ln -sTf 1.4.19 /nyan/m4/current
21
22 # partitioning/formatting
23 ./pkg-build nyangpt-93ff96f81c21fa5231aaec14fbd5cbc592eb04dc
24 ln -sTf 93ff96f81c21fa5231aaec14fbd5cbc592eb04dc /nyan/nyangpt/current
25 ./pkg-build e2fsprogs-1.46.2
26 ln -sTf 1.46.2 /nyan/e2fsprogs/current
27
28 # for linux sdk
29 ./pkg-build flex-2.6.4
30 ln -sTf 2.6.4 /nyan/flex/current
31 ./pkg-build bison-3.7.6
32 ln -sTf 3.7.6 /nyan/bison/current
File 01-x86_64-nyan-linux-gnu.sh deleted (index 533016d..0000000)
1 #!/bin/sh
2 set -e
3 . ./conf.sh
4 umask 022
5
6 #===============================================================================
7 mkdir -p $cross_toolchain_dir_root
8 # we must have a linux source tree in $target_sysroot to generate architecture
9 # specific headers
10 if test ! -d $target_sysroot$target_linux_src; then
11 echo "Missing linux source tree: $target_sysroot$target_linux_src"
12 exit 1;
13 else
14 echo "found linux source tree in $target_sysroot$target_linux_src"
15 fi
16 #===============================================================================
17
18 #===============================================================================
19 ./pkg-build-target glibc-linux-headers-0
20 ./pkg-build-target linux-firmware
21 ./pkg-build-target cinitramfs-src
22 ./pkg-build-target glibc-headers-static-target-libgcc-0
23 #===============================================================================
24
25 # the gcc retards did manage to break gcc 4.7.4, the only C compilable iso c++98
26 # bravo!
27
28 #===============================================================================
29 ./pkg-build cross-gmp
30 ./pkg-build cross-mpfr
31 ./pkg-build cross-mpc
32 #===============================================================================
33 # we need a first cross toolchain to compile the glibc, only c with
34 # static posix threaded libgcc
35
36 # set up the full native system headers in one dir or gcc will fail
37 cp -r $target_sysroot/nyan/glibc/0/linux/include/* $target_sysroot/nyan/glibc/0/include-static-target-libgcc-linux
38
39 ./pkg-build cross-static-target-libgcc-binutils
40 ./pkg-build cross-static-target-libgcc-gcc-c
41 #===============================================================================
42
43 #===============================================================================
44 ./pkg-build-target glibc-0
45 #===============================================================================
46
47 #===============================================================================
48 # we need now a cross toolchain which will:
49 # - able to deal with a shared libgcc_s. The real final libgcc_s, will be
50 # from the cross compiled gcc itself
51 # - have a crappy c++ front end to cross-compile gcc itself with some
52 # c++ runtime crap
53
54 # set up the full native system headers in one dir or gcc will fail
55 cp -r $target_sysroot/nyan/glibc/0/linux/include/* $target_sysroot/nyan/glibc/0/include-linux
56
57 ./pkg-build cross-binutils
58 ./pkg-build cross-gcc-compilers
59 #===============================================================================
File 02-nyan-cross-core.sh deleted (index 31fdc18..0000000)
1 #!/bin/sh
2 set -e
3 . ./conf.sh
4 umask 022
5
6 #==============================================================================
7 # select glibc-0
8 ln -sTf 0 $target_sysroot/nyan/glibc/current
9 #==============================================================================
10
11 #==============================================================================
12 # The x86_64 linux ABI mandates /lib64/ld-linux-x86-64.so.2 as ELF interpreter
13 # in many cases.
14 mkdir -p $target_sysroot/lib64
15 ln -sTf /nyan/glibc/current/lib/ld-linux-x86-64.so.2 $target_sysroot/lib64/ld-linux-x86-64.so.2
16 #==============================================================================
17
18 #==============================================================================
19 # After dash installation, you can chroot and perform basic checks.
20 ./pkg-build-target dash-0
21
22 # enable dash-0 as current simple bourn shell
23 ln -sTf 0 $target_sysroot/nyan/dash/current
24 #==============================================================================
25
26 #===============================================================================
27 mkdir -p $target_sysroot/dev
28 mkdir -p $target_sysroot/proc
29 mkdir -p $target_sysroot/sys
30 mkdir -p $target_sysroot/etc
31 mkdir -p $target_sysroot/root
32 mkdir -p $target_sysroot/tmp
33 chmod 1777 $target_sysroot/tmp
34 #===============================================================================
35
36 #==============================================================================
37 #------------------------------------------------------------------------------
38 ./pkg-build-target gmp-0
39 ./pkg-build-target mpfr-0
40 ./pkg-build-target mpc-0
41 ./pkg-build-target binutils-0
42 ./pkg-build-target gcc-0
43 #------------------------------------------------------------------------------
44 ./pkg-build-target sed-0
45 ./pkg-build-target coreutils-0
46 ./pkg-build-target grep-0
47 ./pkg-build-target gawk-0
48 ./pkg-build-target make-0
49 ./pkg-build-target zlib-0
50 ./pkg-build-target gzip-0
51 ./pkg-build-target bzip2-0
52 ./pkg-build-target xz-0
53 ./pkg-build-target clzip-0
54 ./pkg-build-target tar-0
55 ./pkg-build-target diffutils-0
56 ./pkg-build-target patch-0
57 ./pkg-build-target file-0
58 ./pkg-build-target findutils-0
59 ./pkg-build-target m4-0
60 ./pkg-build-target which-0
61 ./pkg-build-target ncurses-0
62 ./pkg-build-target nyanuuid-0
63 ./pkg-build-target nyanblkid-0
64 ./pkg-build-target util-linux-0
65 ./pkg-build-target nettle-0
66 ./pkg-build-target libtasn1-0
67 ./pkg-build-target libunistring-0
68 ./pkg-build-target libidn2-0
69 ./pkg-build-target gnutls-0
70 ./pkg-build-target wget-0
71 ./pkg-build-target expat-0
72 ./pkg-build-target curl-0
73 ./pkg-build-target git-0
74 ./pkg-build-target libressl-0
75 ./pkg-build-target openssh-0
76 #------------------------------------------------------------------------------
77 ./pkg-build-target libffi-0
78 ./pkg-build-target glib-0
79 ./pkg-build-target pkg-config-0
80 #------------------------------------------------------------------------------
81 ./pkg-build-target popt-0
82 ./pkg-build-target efivar-0
83 ./pkg-build-target efibootmgr-0
84 #------------------------------------------------------------------------------
85 ./pkg-build-target nyankmod-0
86 ./pkg-build-target e2fsprogs-0
87 ./pkg-build-target vim-0
88 #------------------------------------------------------------------------------
89 ./pkg-build-target nyanbison-0
90 ./pkg-build-target flex-0
91 #------------------------------------------------------------------------------
92 ./pkg-build-target drm-0
93 ./pkg-build-target alsa-lib-0
94 ./pkg-build-target alsa-utils-0
95 #------------------------------------------------------------------------------
96 ./pkg-build-target iproute2-0
97 ./pkg-build-target dhcp-0
98 ./pkg-build-target ndisc6-0
99 ./pkg-build-target readline-0
100 ./pkg-build-target ed-0
101 ./pkg-build-target bc-0
102 ./pkg-build-target bash-0
103 ./pkg-build-target muinit-0
104 ./pkg-build-target mudev-0
105 ./pkg-build-target chrony-0
106 ./pkg-build-target unzip-0
107 ./pkg-build-target pciutils-0
108 #===============================================================================
109
110 #===============================================================================
111 # Create a passwd file with the root account. Git *wants* it.
112 echo root::0:0::/root:/nyan/dash/current/bin/dash >$target_sysroot/etc/passwd
113 chmod 644 $target_sysroot/etc/passwd
114 #===============================================================================
File 03-nyan-cross-x11.sh deleted (index 7f1362b..0000000)
1 #!/bin/sh
2 set -e
3 umask 022
4
5 #===============================================================================
6 ./pkg-build-target font-util-0
7 #-------------------------------------------------------------------------------
8 ./pkg-build-target libpng-0
9 ./pkg-build-target pixman-0
10 ./pkg-build-target freetype-0
11 ./pkg-build-target fontconfig-0
12 #===============================================================================
13
14 #===============================================================================
15 ./pkg-build-target util-macros-0
16 ./pkg-build-target xorgproto-0
17 ./pkg-build-target xcb-proto-0
18 #===============================================================================
19
20 #===============================================================================
21 ./pkg-build-target xtrans-0
22 ./pkg-build-target libpthread-stubs-0
23 ./pkg-build-target libXau-0
24 ./pkg-build-target libxcb-0
25 ./pkg-build-target libX11-0
26 ./pkg-build-target libXrender-0
27 ./pkg-build-target libXfixes-0
28 ./pkg-build-target libXcursor-0
29 ./pkg-build-target libXext-0
30 ./pkg-build-target libXdamage-0
31 ./pkg-build-target libxshmfence-0
32 ./pkg-build-target libxkbfile-0
33 ./pkg-build-target libfontenc-0
34 ./pkg-build-target libXfont2-0
35 ./pkg-build-target libXft-0
36 ./pkg-build-target libICE-0
37 ./pkg-build-target libSM-0
38 ./pkg-build-target libXt-0
39 ./pkg-build-target libXinerama-0
40 ./pkg-build-target libXi-0
41 ./pkg-build-target libXrandr-0
42 ./pkg-build-target libXv-0
43 ./pkg-build-target libXcomposite-0
44 ./pkg-build-target libXtst-0
45 ./pkg-build-target libXScrnSaver-0
46 ./pkg-build-target libXxf86vm-0
47 ./pkg-build-target libXdmcp-0
48 #===============================================================================
49
50 #===============================================================================
51 ./pkg-build-target llvm-0
52 ./pkg-build-target libelf-0
53 ./pkg-build-target mesa-gl-0
54 ./pkg-build-target libtxc_dxtn-0
55 #===============================================================================
56
57 #===============================================================================
58 ./pkg-build-target Vulkan-LoaderAndValidationLayers-0
59 #===============================================================================
60
61 #===============================================================================
62 ./pkg-build-target libpciaccess-0
63 ./pkg-build-target libepoxy-0
64 ./pkg-build-target xkeyboard-config-0
65 ./pkg-build-target xkbcomp-0
66 ./pkg-build-target xserver-0
67 #===============================================================================
68
69 #===============================================================================
70 #-------------------------------------------------------------------------------
71 ./pkg-build-target libevdev-0
72 ./pkg-build-target mtdev-0
73 ./pkg-build-target xf86-input-evdev-0
74 #-------------------------------------------------------------------------------
75 ./pkg-build-target xf86-video-amdgpu-0
76 #===============================================================================
77
78 #===============================================================================
79 ./pkg-build-target dejavu-fonts-ttf-0
80 #===============================================================================
81
82 #===============================================================================
83 ./pkg-build-target st-0
84 #===============================================================================
85
86 #===============================================================================
87 # THE troubleshooting tool
88 ./pkg-build-target strace-0
89 #===============================================================================
File 04-bootstrap-conf.sh deleted (index f9036d3..0000000)
1 #!/bin/sh
2 set -e
3 . ./conf.sh
4 umask 022
5
6 mkdir -p $target_sysroot/bin
7 mkdir -p $target_sysroot/lib64
8
9 echo '**************************************************************************'
10 echo 'You have to cross/compile a linux kernel (optionally prepare an'
11 echo "initramfs) which will boot $target_sysroot partition as the root"
12 echo 'partition.'
13 echo 'To do that you will need to configure/setup the/a bootloader for'
14 echo 'this linux kernel to boot on this partition.'
15 echo 'nyanlinux does include the tools required to setup a boot entry in UEFI'
16 echo 'bios to do that. Those tools should be available on most of the'
17 echo 'gnu/linux distros out there, then the one of your chosing.'
18 echo 'You have many sources of information on the web to help you do that from'
19 echo 'the boostrap gnu/linux distro of your choosing.'
20 printf '**************************************************************************\n\n'
21
22 #-------------------------------------------------------------------------------
23 # The x86_86 ABI dynamic loader has the libc and related basic libs location
24 # hardcoded, then it will find them.
25 # We did enable dash shell earlier.
26 # Use an hardcoded path for the linux loader
27 ln -sTf /lib64 $target_sysroot/nyan/glibc/current/lib/x86_64
28 # glibc pthread_cancel wants gcc libgcc_s
29 ln -sTf 0 $target_sysroot/nyan/toolchains/current
30 ln -sTf /nyan/toolchains/current/lib64/libgcc_s.so.1 $target_sysroot/nyan/glibc/current/lib/libgcc_s.so.1
31 #-------------------------------------------------------------------------------
32
33 #-------------------------------------------------------------------------------
34 # Enable the init process which linux will start as the first process
35 # usually it's /bin/init.
36 echo '**************************************************************************'
37 echo 'the init process will run /bin/sysstart binary/script to initialize the'
38 echo 'basics of a gnu/linux distro. A basic script is setup in nyanlinux'
39 echo 'distribution (in files/sysstart.boostrap")'
40 printf '**************************************************************************\n\n'
41 ln -sTf 0 $target_sysroot/nyan/muinit/current
42 ln -sTf /nyan/muinit/current/bin/init $target_sysroot/bin/init
43 cp -n ./files/sysstart.bootstrap $target_sysroot/bin/sysstart
44 #-------------------------------------------------------------------------------
45
46 echo '**************************************************************************'
47 echo '/bin/sysstart script/binary may require much more to be enabled. You '
48 echo 'would need to add them yourself, because your minimum required would not'
49 echo 'be _my_ minimum required'
50 printf '**************************************************************************\n\n'
51
52 #-------------------------------------------------------------------------------
53 ln -sTf 0 $target_sysroot/nyan/util-linux/current
54 ln -sTf 0 $target_sysroot/nyan/coreutils/current
55 ln -sTf 0 $target_sysroot/nyan/nyankmod/current
56 ln -sTf 0 $target_sysroot/nyan/mudev/current
57 ln -sTf 0 $target_sysroot/nyan/iproute2/current
58 ln -sTf 0 $target_sysroot/nyan/strace/current
59 ln -sTf 0 $target_sysroot/nyan/xserver/current
60 ln -sTf 0 $target_sysroot/nyan/xkbcomp/current
61 ln -sTf 0 $target_sysroot/nyan/xkeyboard-config/current
62 ln -sTf 0 $target_sysroot/nyan/xf86-video-amdgpu/current
63 ln -sTf 0 $target_sysroot/nyan/xf86-input-evdev/current
64 ln -sTf 0 $target_sysroot/nyan/drm/current
65 ln -sTf 0 $target_sysroot/nyan/freetype/current
66 ln -sTf 0 $target_sysroot/nyan/libepoxy/current
67 ln -sTf 0 $target_sysroot/nyan/libfontenc/current
68 ln -sTf 0 $target_sysroot/nyan/libICE/current
69 ln -sTf 0 $target_sysroot/nyan/libpng/current
70 ln -sTf 0 $target_sysroot/nyan/libSM/current
71 ln -sTf 0 $target_sysroot/nyan/libtxc_dxtn/current
72 ln -sTf 0 $target_sysroot/nyan/libX11/current
73 ln -sTf 0 $target_sysroot/nyan/libXau/current
74 ln -sTf 0 $target_sysroot/nyan/libxcb/current
75 ln -sTf 0 $target_sysroot/nyan/libXcomposite/current
76 ln -sTf 0 $target_sysroot/nyan/libXcursor/current
77 ln -sTf 0 $target_sysroot/nyan/libXdamage/current
78 ln -sTf 0 $target_sysroot/nyan/libXdmcp/current
79 ln -sTf 0 $target_sysroot/nyan/libXext/current
80 ln -sTf 0 $target_sysroot/nyan/libXfixes/current
81 ln -sTf 0 $target_sysroot/nyan/libXfont2/current
82 ln -sTf 0 $target_sysroot/nyan/libXft/current
83 ln -sTf 0 $target_sysroot/nyan/libXi/current
84 ln -sTf 0 $target_sysroot/nyan/libXinerama/current
85 ln -sTf 0 $target_sysroot/nyan/libxkbfile/current
86 ln -sTf 0 $target_sysroot/nyan/libXrandr/current
87 ln -sTf 0 $target_sysroot/nyan/libXrender/current
88 ln -sTf 0 $target_sysroot/nyan/libXScrnSaver/current
89 ln -sTf 0 $target_sysroot/nyan/libxshmfence/current
90 ln -sTf 0 $target_sysroot/nyan/libXt/current
91 ln -sTf 0 $target_sysroot/nyan/libXv/current
92 ln -sTf 0 $target_sysroot/nyan/libXxf86vm/current
93 ln -sTf 0 $target_sysroot/nyan/mesa-gl/current
94 ln -sTf 0 $target_sysroot/nyan/pixman/current
95 ln -sTf 0 $target_sysroot/nyan/Vulkan-LoaderAndValidationLayers/current
96 ln -sTf 0 $target_sysroot/nyan/font-util/current
97 ln -sTf 0 $target_sysroot/nyan/fontconfig/current
98 ln -sTf 0 $target_sysroot/nyan/dejavu-fonts-ttf/current
99 ln -sTf 0 $target_sysroot/nyan/st/current
100 ln -sTf 0 $target_sysroot/nyan/ncurses/current
101 ln -sTf 0 $target_sysroot/nyan/dhcp/current
102 ln -sTf 0 $target_sysroot/nyan/ndisc6/current
103 #-------------------------------------------------------------------------------
104
105 #===============================================================================
106 # Xorg shared file system
107 #-------------------------------------------------------------------------------
108 # xorg modules
109 mkdir -p $target_sysroot/lib64/xorg/modules
110 ln -sTf /nyan/xserver/current/lib64/xorg/modules/libexa.so $target_sysroot/lib64/xorg/modules/libexa.so
111 ln -sTf /nyan/xserver/current/lib64/xorg/modules/libfbdevhw.so $target_sysroot/lib64/xorg/modules/libfbdevhw.so
112 ln -sTf /nyan/xserver/current/lib64/xorg/modules/libfb.so $target_sysroot/lib64/xorg/modules/libfb.so
113 ln -sTf /nyan/xserver/current/lib64/xorg/modules/libglamoregl.so $target_sysroot/lib64/xorg/modules/libglamoregl.so
114 ln -sTf /nyan/xserver/current/lib64/xorg/modules/libint10.so $target_sysroot/lib64/xorg/modules/libint10.so
115 ln -sTf /nyan/xserver/current/lib64/xorg/modules/libshadowfb.so $target_sysroot/lib64/xorg/modules/libshadowfb.so
116 ln -sTf /nyan/xserver/current/lib64/xorg/modules/libshadow.so $target_sysroot/lib64/xorg/modules/libshadow.so
117 ln -sTf /nyan/xserver/current/lib64/xorg/modules/libvbe.so $target_sysroot/lib64/xorg/modules/libvbe.so
118 ln -sTf /nyan/xserver/current/lib64/xorg/modules/libvgahw.so $target_sysroot/lib64/xorg/modules/libvgahw.so
119 ln -sTf /nyan/xserver/current/lib64/xorg/modules/libwfb.so $target_sysroot/lib64/xorg/modules/libwfb.so
120 #-------------------------------------------------------------------------------
121 # xorg extensions
122 mkdir -p $target_sysroot/lib64/xorg/modules/extensions
123 ln -sTf /nyan/xserver/current/lib64/xorg/modules/extensions/libglx.so $target_sysroot/lib64/xorg/modules/extensions/libglx.so
124 #-------------------------------------------------------------------------------
125 # xorg internal modesetting driver
126 mkdir -p $target_sysroot/lib64/xorg/modules/drivers
127 ln -sTf /nyan/xserver/current/lib64/xorg/modules/drivers/modesetting_drv.so $target_sysroot/lib64/xorg/modules/drivers/modesetting_drv.so
128 #-------------------------------------------------------------------------------
129 # configuration database
130 mkdir -p $target_sysroot/share/X11/xorg.conf.d
131 ln -sTf /nyan/xserver/current/share/X11/xorg.conf.d/10-quirks.conf $target_sysroot/share/X11/xorg.conf.d/10-quirks.conf
132 #-------------------------------------------------------------------------------
133 # xkb database
134 mkdir -p $target_sysroot/share/X11
135 ln -sTf /nyan/xkeyboard-config/current/share/X11/xkb $target_sysroot/share/X11/xkb
136 #===============================================================================
137
138 #===============================================================================
139 # AMD GPU Xorg driver
140 #-------------------------------------------------------------------------------
141 # module
142 mkdir -p $target_sysroot/lib64/xorg/modules/drivers
143 ln -sTf /nyan/xf86-video-amdgpu/current/lib/xorg/modules/drivers/amdgpu_drv.so $target_sysroot/lib64/xorg/modules/drivers/amdgpu_drv.so
144 #-------------------------------------------------------------------------------
145 # configuration database
146 mkdir -p $target_sysroot/share/X11/xorg.conf.d
147 ln -sTf /nyan/xf86-video-amdgpu/current/share/X11/xorg.conf.d/10-amdgpu.conf $target_sysroot/share/X11/xorg.conf.d/10-amdgpu.conf
148 #===============================================================================
149
150 #===============================================================================
151 # linux evdev Xorg input driver
152 #-------------------------------------------------------------------------------
153 # module
154 mkdir -p $target_sysroot/lib64/xorg/modules/input
155 ln -sTf /nyan/xf86-input-evdev/current/lib/xorg/modules/input/evdev_drv.so $target_sysroot/lib64/xorg/modules/input/evdev_drv.so
156 #-------------------------------------------------------------------------------
157 # configuration database
158 mkdir -p $target_sysroot/share/X11/xorg.conf.d
159 ln -sTf /nyan/xf86-input-evdev/current/share/X11/xorg.conf.d/10-evdev.conf $target_sysroot/share/X11/xorg.conf.d/10-evdev.conf
160 #===============================================================================
161
162 #===============================================================================
163 # Xorg font-util data
164 mkdir -p $target_sysroot/share/fonts
165 ln -sTf /nyan/font-util/current/share/fonts/X11 $target_sysroot/share/fonts/X11
166 #===============================================================================
167
168 #===============================================================================
169 # fontconfig
170 # install the shared configuration (just copy the symlinks)
171 mkdir -p $target_sysroot/etc/fonts/conf.d
172 ln -sTf /nyan/fontconfig/current/etc/fonts/fonts.conf $target_sysroot/etc/fonts/fonts.conf
173 cp -Pf $target_sysroot/nyan/fontconfig/current/etc/fonts/conf.d/* $target_sysroot/etc/fonts/conf.d
174 #===============================================================================
175
176 #===============================================================================
177 # dejavu ttf fonts
178 #-------------------------------------------------------------------------------
179 # fontconfig shared configuration
180 ln -sTf /nyan/dejavu-fonts-ttf/current/share/fontconfig/conf.avail/20-unhint-small-dejavu-sans.conf $target_sysroot/etc/fonts/conf.d/20-unhint-small-dejavu-sans.conf
181 ln -sTf /nyan/dejavu-fonts-ttf/current/share/fontconfig/conf.avail/20-unhint-small-dejavu-sans-mono.conf $target_sysroot/etc/fonts/conf.d/20-unhint-small-dejavu-sans-mono.conf
182 ln -sTf /nyan/dejavu-fonts-ttf/current/share/fontconfig/conf.avail/20-unhint-small-dejavu-serif.conf $target_sysroot/etc/fonts/conf.d/20-unhint-small-dejavu-serif.conf
183 ln -sTf /nyan/dejavu-fonts-ttf/current/share/fontconfig/conf.avail/57-dejavu-sans.conf $target_sysroot/etc/fonts/conf.d/57-dejavu-sans.conf
184 ln -sTf /nyan/dejavu-fonts-ttf/current/share/fontconfig/conf.avail/57-dejavu-sans-mono.conf $target_sysroot/etc/fonts/conf.d/57-dejavu-sans-mono.conf
185 ln -sTf /nyan/dejavu-fonts-ttf/current/share/fontconfig/conf.avail/57-dejavu-serif.conf $target_sysroot/etc/fonts/conf.d/57-dejavu-serif.conf
186 #-------------------------------------------------------------------------------
187 # ttf files (fontconfig parses recursively /share/fonts)
188 mkdir -p $target_sysroot/share/fonts
189 ln -sTf /nyan/dejavu-fonts-ttf/current/share/fonts/dejavu $target_sysroot/share/fonts/dejavu
190 #===============================================================================
191
192 #-------------------------------------------------------------------------------
193 # the distribution identification
194 cp -f ./files/lsb-release $target_sysroot/etc
195 #-------------------------------------------------------------------------------
196
197 #-------------------------------------------------------------------------------
198 echo '**************************************************************************'
199 echo 'install basic dash shell configuration file for the root user, if none
200 echo 'exist, and make dash the main shell, /bin/sh, because it's a runtime'
201 echo 'dependencies of some software components'
202 printf '**************************************************************************\n\n'
203 cp -n ./files/dash.root.profile $target_sysroot/root/.profile
204 cp -n ./files/dash.root.interactive $target_sysroot/root/.dash.sh
205 ln -sTf /nyan/dash/current/bin/dash $target_sysroot/bin/sh
206 #-------------------------------------------------------------------------------
File 10-sdk-conf.sh deleted (index 5f6bc5d..0000000)
1 #!/bin/sh
2 set -e
3 umask 022
4
5 export PATH=/nyan/coreutils/current/bin
6
7 ln -sTf 0 /nyan/tar/current
8 ln -sTf 0 /nyan/xz/current
9 ln -sTf 0 /nyan/bzip2/current
10 ln -sTf 0 /nyan/gzip/current
11 ln -sTf 0 /nyan/sed/current
12 ln -sTf 0 /nyan/grep/current
13 ln -sTf 0 /nyan/gawk/current
14 ln -sTf 0 /nyan/make/current
15 ln -sTf 0 /nyan/nyanbison/current
16 ln -sTf 0 /nyan/findutils/current
17 ln -sTf 0 /nyan/file/current
18 ln -sTf 0 /nyan/m4/current
19 ln -sTf 0 /nyan/diffutils/current
20 ln -sTf 0 /nyan/expat/current
21 ln -sTf 0 /nyan/libressl/current
22 ln -sTf 0 /nyan/zlib/current
23 ln -sTf 0 /nyan/libffi/current
24 ln -sTf 0 /nyan/pkg-config/current
25 ln -sTf 0 /nyan/glib/current
26 ln -sTf 0 /nyan/git/current
File 11-sdk.sh deleted (index 83fa9bf..0000000)
1 #!/bin/sh
2 set -e
3 umask 022
4
5 # this is supposed to compile/install many additional SDK related tools
6 # this is no "bazaar", this is closer to a huge pile of slimy diareha to scare
7 # away sane people
8
9 #-------------------------------------------------------------------------------
10 # "Perl runs on over 100 platforms!"... perl actually is not even able to
11 # cross-compile out-of-the-box and is the base of many SDK related tools
12 # it's very sad because perl is a massive piece of crap
13 ./pkg-build perl-0
14 ln -sTf 0 /nyan/perl/current
15 ./pkg-build autoconf-0
16 ln -sTf 0 /nyan/autoconf/current
17 ./pkg-build automake-0
18 ln -sTf 0 /nyan/automake/current
19 ./pkg-build libtool-0
20 ln -sTf 0 /nyan/libtool/current
21 ./pkg-build texinfo-0
22 ln -sTf 0 /nyan/texinfo/current
23 ./pkg-build help2man-0
24 ln -sTf 0 /nyan/help2man/current
25 # this is actually a perl module to interface expat xml parser
26 ./pkg-build xml-parser-0
27 ./pkg-build intltool-0
28 ln -sTf 0 /nyan/intltool/current
29 #-------------------------------------------------------------------------------
30 ./pkg-build gettext-0
31 ln -sTf 0 /nyan/gettext/current
32 #-------------------------------------------------------------------------------
33 ./pkg-build python2-0
34 ln -sTf 0 /nyan/python2/current
35 # this is actually a python2 module used for mesa code generation
36 ./pkg-build mako-0
37 ./pkg-build python3-0
38 ln -sTf 0 /nyan/python3/current
39 #-------------------------------------------------------------------------------
40 # If you code in c++ and you think that makes you smart, you are severely wrong.
41 # You are either or a mix of the following:
42 # - you are taught by bad teachers
43 # - you have an accute lack of perspective
44 # - you need to seek psychiatric council
45 # (Rube Goldberg machine syndrome and excessive generalization syndrome)
46 # - you are of the cunning type, a practitioner of obfuscation
47 # you can switch c++ with perl, same sh*t
48 ./pkg-build cmake-0
49 ln -sTf 0 /nyan/cmake/current
50 # only used for llvm parallel compilation
51 ./pkg-build ninja-0
52 ln -sTf 0 /nyan/ninja/current
53 ./pkg-build gperf-0
54 ln -sTf 0 /nyan/gperf/current
55 #-------------------------------------------------------------------------------
56 ./pkg-build nasm-0
57 ln -sTf 0 /nyan/nasm/current
File 12-desktop.sh deleted (index 090b622..0000000)
1 #!/bin/sh
2 set -e
3 umask 022
4
5 #===============================================================================
6 ln -sTf 0 /nyan/xorgproto/current
7 ln -sTf 0 /nyan/util-macro/current
8 ln -sTf 0 /nyan/libpthread-stubs/current
9 ln -sTf 0 /nyan/nyanuuid/current
10 ln -sTf 0 /nyan/curl/current
11 ln -sTf 0 /nyan/nettle/current
12 ln -sTf 0 /nyan/libidn2/current
13 ln -sTf 0 /nyan/gnutls/current
14 ln -sTf 0 /nyan/libtasn1/current
15 ln -sTf 0 /nyan/libunistring/current
16 ln -sTf 0 /nyan/alsa-lib/current
17 #===============================================================================
18
19 #===============================================================================
20 ./pkg-build xrandr-0
21 ln -sTf 0 /nyan/xrandr/current
22 ./pkg-build xinput-0
23 ln -sTf 0 /nyan/xinput/current
24 ./pkg-build fvwm-0
25 ln -sTf 0 /nyan/fvwm/current
26 #===============================================================================
27
28 #===============================================================================
29 ./pkg-build libjpeg-turbo-0
30 ln -sTf 0 /nyan/libjpeg-turbo/current
31 ./pkg-build giflib-0
32 ln -sTf 0 /nyan/giflib/current
33 ./pkg-build imlib2-0
34 ln -sTf 0 /nyan/imlib2/current
35 ./pkg-build libexif-0
36 ln -sTf 0 /nyan/libexif/current
37 ./pkg-build feh-0
38 ln -sTf 0 /nyan/feh/current
39 #===============================================================================
40
41 #===============================================================================
42 ./pkg-build lynx-0
43 ln -sTf 0 /nyan/lynx/current
44 #-------------------------------------------------------------------------------
45 ./pkg-build libevent-0
46 ln -sTf 0 /nyan/libevent/current
47 ./pkg-build links-0
48 ln -sTf 0 /nyan/links/current
49 #===============================================================================
50
51 #===============================================================================
52 ./pkg-build msmtp-0
53 ln -sTf 0 /nyan/msmtp/current
54 ./pkg-build procmail-0
55 ln -sTf 0 /nyan/procmail/current
56 ./pkg-build fetchmail-0
57 ln -sTf 0 /nyan/fetchmail/current
58 ./pkg-build mutt-0
59 ln -sTf 0 /nyan/mutt/current
60 #===============================================================================
61
62 #===============================================================================
63 ./pkg-build charfbuzz-0
64 ln -sTf 0 /nyan/charfbuzz/current
65 ./pkg-build mupdf-0
66 ln -sTf 0 /nyan/mupdf/current
67 #===============================================================================
68
69 #===============================================================================
70 ./pkg-build fribidi-0
71 ln -sTf 0 /nyan/fribidi/current
72 ./pkg-build libass-0
73 ln -sTf 0 /nyan/libass/current
74 ./pkg-build libvpx-0
75 ln -sTf 0 /nyan/libvpx/current
76 ./pkg-build opus-0
77 ln -sTf 0 /nyan/opus/current
78 ./pkg-build ffmpeg-0
79 ln -sTf 0 /nyan/ffmpeg/current
80 ./pkg-build mplayer-0
81 ln -sTf 0 /nyan/mplayer/current
82 #===============================================================================
File 13-beyond.sh deleted (index 08460f0..0000000)
1 #!/bin/sh
2 set -e
3 umask 022
4
5 ./pkg-build dbus-0
6 ln -sTf 0 /nyan/dbus/current
7
8 ./pkg-build procps-0
9 ln -sTf 0 /nyan/procps/current
File INSTALL changed (mode: 100644) (index 1b5314b..f19c2d6)
1 The target audience of this custom gnu/linux distro is:
1 The target audience of this custom UEFI x86_64 glibc/linux distro is:
2 2 - system developers - system developers
3 3 - advanced system administators - advanced system administators
4 4 - advanced open source software enthusiasts - advanced open source software enthusiasts
5 5
6 You need a relatively recent gnu/linux distro to boostrap this one.
6 Either you build the bootstrap, or use a prebuilt bootstrap device image (at
7 the time of writing, no device image exists due to unavailable suitable online
8 storage).
7 9
8 You need a disk partition on which the cross-toolchain will be installed and
9 where the distro itself will be cross-compiled and installed.
10 MAIN METHOD: BUILDING THE BOOTSTRAP --------------------------------------------
11 Unfortunately, you need a relatively recent glibc/linux distro to build the
12 nyan bootstrap glibc/linux distro and you will need to get the source code
13 from internet yourself.
14 In theory, the nyan bootstrap glibc/linux distro should be able to bootstrap
15 itself.
10 16
11 You have the configuration parameters in conf.sh.
17 You need to download the source files/clone the git source repositories in
18 "$nyan_root/src" (we don't auto download them to avoid generating excess
19 traffic on source hosting servers if "mistakes" were to be made). Look
20 for "*url*" strings in builder.sh of the packages used in 00-bootstrap-build.sh.
12 21
13 01-x86_64-nyan-linux-gnu.sh will prepare a cross-compilation toolchain.
14 02-nyan-cross-core.sh will cross compile basic components.
15 03-nyan-cross-x11.sh will cross compile a minimal x11 desktop.
16 04-bootstrap-conf.sh will configure a minimal 11 desktop with a terminal
22 You need to prepare a disk device with at least 2 partitions as the root user:
23 - one partition formatted as vfat/fat32 (minimum 128MB due to broken UEFI
24 implementations) for the UEFI bios
25 - one partition formatted for the root filesystem, which UUID/GUID you will
26 need to know.
17 27
18 From here, there is no more cross-compilation from a bootstrap gnu/linux
19 distro. You will need to chroot/boot into nyanlinux, setup a basic
20 development environment (C toolchain, "standards POSIX/GNU tools", etc).
21 You can source sdk.sh in your shell to do so.
28 Then, configure the bootstrap build onto those partitions in the
29 conf.bootstrap.sh file. You may have to fiddle with the advanced settings
30 to fit your glibc/linux distro.
22 31
23 10-sdk-conf.sh will enable slot 0 from many SDK related packages.
24 11-sdk.sh will compile/install many additional SDK related tools
32 Run 00-bootstrap-build.sh as the root user.
33
34 Boot from the device (USB key, disk, etc) using the boot menu from your UEFI
35 bios. Zero shell configuration was done. You won't even have a proper
36 configured PATH. That to let the users configure their shell(s) their way.
37
38 IMPORTANT NOTES: The bootstrap build was only tested on itself, not with other
39 glibc/linux distros. It means you will probably run into issues which will
40 require some advanced knowledge.
41
42 ALTERNATIVE METHOD: PREBUILT BOOTSTRAP DEVICE IMAGE ----------------------------
43 Not available since we don't have suitable online storage.
44 But it would be dead simple, for instance an USB key being installed with
45 "dd if=image_file of=/dev/sdX".
File README deleted (index 64868dc..0000000)
1 IMPORTANT: We are re-working the bootstrapping of the distro, but due to toxic
2 decisions made upstream at high level, the SDK seems to be now _really_
3 locked-in on some SDK related components using the complexity scam or bias.
4 Yes, there is some bits related to geopolitics and "control" of the software
5 needed for information systems of nearly any types. Much of this is planned
6 obsolescence based on the complexity scam->the technical trajectory is accutely
7 toxic.
8
9 XXX:In other word, upstream broke bootstrapping at a reasonable technical cost.
10 We have to make decisions at our level, but everything is on hold because
11 of the global crisis of the SARS-COV-2 virus.
12
13 ----
14 This is as set of build scripts which bootstrap a kind of minimal/ultra-light
15 desktop gnu/linux distro (x86_64/AMD CPU and GCN GPU).
16
17 This is _our_ linux from scratch, our everyday distro (for AMD hardware,
18 but you can add all the supported others if you want to).
19 glibc is about to deprecate the support of libdl in static binaries. It seems
20 glibc and/or elf is becoming nasty (like gcc slowly turning into a piece of c++
21 crap like llvm). The goal was to get as many statically binaries as possible,
22 which is not a reasonable goal anymore due to kludgy and badly designed
23 software.
24
25 ----
26 I have to recall this: due to glibc and gcc compiler driver limitations binaries
27 with modules (ELF dynamic shared libs) which use symbols from the latter, must
28 be built as dynamic elf binaries which export their symbols (--export-symbols
29 from the GNU ld). Such ELF objects cannot be built with a static glibc and the
30 gcc compiler driver. Additionaly, many other components were designed with the
31 "dynamic shared lib paradigm" in mind which will induce breakage if used from a
32 static library archive version.
33 ----
34
35 The SDKs are brain damaged kludges: the only anti brain fuckage mitigation
36 approach would be to burn an hardcoded configuration for a gnu/linux system and
37 use some sh scripts to build the component from source (_always_ cross
38 compiling friendly).
39
40 Some components deployed by those scripts are personal forks of popular open
41 source components.
42
43 I publish those scripts because the knowledge they do contain may be of use by
44 the community in addition of the real linux-from-scratch.
45
46 notes:
47 - you have reboot.S and poweroff.S in files/asm if you want to use those
48 versions. Carefull, you don't have a sync syscall for your drive data.
49 - some libraries are dynamic shared, though they could be static. This is
50 to interface with close source binaries, games, because I'm a gamer,
51 nobody is perfect.
52
53 Sylvain BERTRAND
54 sylvain.bertrand@legeek.net
File builders/bc-0/builder-target.sh deleted (index c54dc65..0000000)
1 src_name=bc
2 version=1.07.1
3 archive_name=$src_name-$version.tar.gz
4 url0=http://ftpmirror.gnu.org/$src_name/$archive_name
5
6 src_dir=$src_dir_root/$src_name-$version
7 cd $src_dir_root
8 rm -Rf $src_name-$version
9 tar xf $archive_name
10
11 build_dir=$builds_dir_root/$pkg_name-$version-$target_gnu_triple
12 rm -Rf $build_dir
13 mkdir -p $build_dir
14 cd $build_dir
15
16 OLD_PATH=$PATH
17 export PATH=$cross_toolchain_dir_root/bin:$PATH
18
19 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
20 export "CPPFLAGS=-I$target_sysroot/nyan/readline/0/include"
21 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
22 export 'CFLAGS=-O2 -pipe -fPIC'
23 export "LDFLAGS=-L$target_sysroot/nyan/readline/0/lib -L$target_sysroot/nyan/ncurses/0/lib"
24 export LIBS=-ltinfow
25 $src_dir/configure \
26 --build=$build_gnu_triple \
27 --host=$target_gnu_triple \
28 --prefix=/nyan/bc/0 \
29 --with-readline
30 unset LIBS
31 unset LDFLAGS
32 unset CFLAGS
33 unset CC
34 unset CPPFLAGS
35
36 # SUBDIRS override to skip doc
37 make -j $threads_n 'SUBDIRS=lib bc dc'
38
39 # SUBDIRS override to skip doc
40 make install 'SUBDIRS=lib bc dc' DESTDIR=$target_sysroot
41 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/* || true
42
43 # cleanup and tidying
44
45 rm -Rf $build_dir $src_dir
File builders/bison-3.7.6/builder.sh added (mode: 100644) (index 0000000..4e7d230)
1 src_name=bison
2 version=${pkg_name##*-}
3 slot=$version
4 archive_name=$src_name-$version.tar.xz
5 url0=http://ftp.gnu.org/gnu/$src_name/$archive_name
6
7 pkg_dir=$pkgs_dir_root/$src_name-$version
8 rm -Rf $pkg_dir
9 mkdir -p $pkgs_dir_root
10 cp -f $src_dir_root/$archive_name $pkgs_dir_root
11 cd $pkgs_dir_root
12 tar xf $archive_name
13
14 build_dir=$builds_dir_root/$src_name-$version
15 rm -Rf $build_dir
16 mkdir -p $build_dir
17 cd $build_dir
18
19 PATH_SAVED=$PATH
20 export PATH="\
21 /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin:\
22 /nyan/make/current/bin:\
23 /nyan/flex/current/bin:\
24 /nyan/m4/current/bin:\
25 $PATH\
26 "
27 target_gnu_triple=$(basename "$(ls -d /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/*-gcc)")
28 target_gnu_triple=${target_gnu_triple%-gcc}
29
30 export 'CFLAGS=-O2 -pipe -fPIC'
31 export "CC=$target_gnu_triple-gcc \
32 -isystem /nyan/glibc/current/include \
33 -isystem /nyan/linux-headers/current/include \
34 -B/nyan/glibc/current/lib \
35 -L/nyan/glibc/current/lib \
36 -Wl,-rpath-link,/nyan/glibc/current/lib \
37 -Wl,-s \
38 -static-libgcc"
39 export CXX=false
40 export AR=$target_gnu_triple-ar
41 $pkg_dir/configure \
42 --prefix=/nyan/$src_name/$slot \
43 --enable-nls
44 unset CFLAGS
45 unset CC
46 unset CXX
47 unset AR
48
49 make -j $threads_n
50 make install
51
52 # cleanup and tidying
53 rm -Rf /nyan/$src_name/$slot/share/doc
54 rm -Rf /nyan/$src_name/$slot/share/man
55 rm -Rf /nyan/$src_name/$slot/share/info
56 rm -Rf /nyan/$src_name/$slot/lib
57
58 export PATH=$PATH_SAVED
59 unset PATH_SAVED
60 unset target_gnu_triple
61 rm -f $pkgs_dir_root/$archive_name
62 rm -Rf $build_dir $pkg_dir
File builders/bootstrap/binutils/builder.sh added (mode: 100644) (index 0000000..ed73240)
1 . $nyan_root/conf.bootstrap.sh
2
3 src_name=binutils
4 slot=0
5 version=2.36.1
6 archive_name=binutils-$version.tar.xz
7 url0=http://ftpmirror.gnu.org/binutils/$archive_name
8
9 pkg_dir=$pkgs_dir_root/$src_name-$version
10 rm -Rf $pkg_dir
11 mkdir -p $pkgs_dir_root
12 cp -f $src_dir_root/$archive_name $pkgs_dir_root
13 cd $pkgs_dir_root
14 tar xf $archive_name
15
16 build_dir=$builds_dir_root/$pkg_name-$version
17 rm -Rf $build_dir
18 mkdir -p $build_dir
19 cd $build_dir
20
21 bfd_sub_conf_opts="\
22 --with-mmap \
23 "
24 binutils_sub_conf_opts="\
25 --disable-libctf \
26 --disable-rpath \
27 "
28 ld_gas_bfd_sub_conf_opts="\
29 --disable-plugins \
30 --disable-nls \
31 "
32
33 PATH_SAVED=$PATH
34 export PATH=$PATH:$bootstrap_target_cross_toolchain/bin
35
36 # nm and ar were configured first with build system ones
37 export "CC_FOR_BUILD=$bootstrap_build_cc $bootstrap_build_cppflags $bootstrap_build_ccld_flags"
38 export "CFLAGS_FOR_BUILD=$bootstrap_build_cflags"
39 export "CPPFLAGS=\
40 -I$bootstrap_target_sysroot/nyan/zlib/current/include \
41 -isystem $bootstrap_target_sysroot/nyan/glibc/current/include \
42 -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include"
43 # don't pass CPP or the brain damage autotools/meson/cmake/etc will get it all wrong
44 export "CFLAGS=-O2 -pipe -fPIC"
45 export "LDFLAGS=-B$bootstrap_target_sysroot/nyan/glibc/current/lib \
46 -L$bootstrap_target_sysroot/nyan/glibc/current/lib \
47 -L$bootstrap_target_sysroot/nyan/zlib/current/lib \
48 -Wl,-s"
49 # you must add the CPPFLAGS and LDFLAGS here to please that horrible autotools/meson/cmake/etc
50 export "CC=$bootstrap_target_gnu_triple-gcc $CPPFLAGS $LDFLAGS"
51 # we need this for ld subdir configuration, usual autotools/meson/cmake/c++/etc crap
52 export "CXX=$bootstrap_target_gnu_triple-gcc $CPPFLAGS"
53 $pkg_dir/configure \
54 --prefix=/nyan/toolchains/$src_name-$version-gcc-4.7.4/$slot \
55 --build=$bootstrap_build_gnu_triple \
56 --host=$bootstrap_target_gnu_triple \
57 --target=$bootstrap_target_gnu_triple \
58 --program-prefix=$bootstrap_target_gnu_triple- \
59 --enable-gold=no \
60 --enable-ld=yes \
61 --with-system-zlib \
62 --with-static-standard-libraries \
63 $bfd_sub_conf_opts \
64 $binutils_sub_conf_opts \
65 $ld_gas_bfd_sub_conf_opts
66 unset CC_FOR_BUILD
67 unset CFLAGS_FOR_BUILD
68 unset CPPFLAGS
69 unset CFLAGS
70 unset LDFLAGS
71 unset CC
72 unset CXX
73
74 make -j $threads_n
75 make install DESTDIR=$bootstrap_target_sysroot
76 #cleanup
77 rm -Rf $bootstrap_target_sysroot/nyan/toolchains/$src_name-$version-gcc-4.7.4/$slot/share
78 rm -Rf $bootstrap_target_sysroot/nyan/toolchains/$src_name-$version-gcc-4.7.4/$slot/lib/*.la
79
80 export PATH=$PATH_SAVED
81
82 rm -f $pkgs_dir_root/$archive_name
83 rm -Rf $pkg_dir $build_dir
File builders/bootstrap/busybox/builder.sh added (mode: 100644) (index 0000000..803efd1)
1 . $nyan_root/conf.bootstrap.sh
2
3 src_name=busybox
4 slot=0
5 version=1.33.1
6 archive_name=$src_name-$version.tar.bz2
7 git_url0=https://www.busybox.net/downloads/$archive_name
8
9 pkg_dir=$pkgs_dir_root/$pkg_name
10 src_dir=$pkg_dir/$src_name-$version
11 rm -Rf $pkg_dir
12 mkdir -p $pkg_dir
13 cp $src_dir_root/$archive_name $pkg_dir
14 cd $pkg_dir
15 tar xf $archive_name
16
17 build_dir=$builds_dir_root/$pkg_name
18 rm -Rf $build_dir
19 mkdir -p $build_dir
20
21 cd $build_dir
22
23 # our custom config
24 cp $nyan_root/builders/bootstrap/$pkg_name/config $src_dir/.config
25 sed -E -e "/^CONFIG_PREFIX=/ c\
26 CONFIG_PREFIX=\"/nyan/busybox/$slot\"" -i $src_dir/.config
27
28 PATH_SAVED=$PATH
29 export PATH=$PATH:$bootstrap_target_cross_toolchain/bin
30 make -j $threads_n -C $src_dir \
31 "CC=$bootstrap_target_gnu_triple-gcc -B$bootstrap_target_sysroot/nyan/glibc/current/lib -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include -isystem $bootstrap_target_sysroot/nyan/glibc/current/include" \
32 "HOSTCC=$bootstrap_build_cc $bootstrap_build_cppflags $bootstrap_build_ccld_flags" \
33 "AR=$bootstrap_target_gnu_triple-ar" \
34 "STRIP=$bootstrap_target_gnu_triple-strip" \
35 busybox
36 make -C $src_dir "CONFIG_PREFIX=$bootstrap_target_sysroot/nyan/busybox/$slot" \
37 "CC=$bootstrap_target_gnu_triple-gcc -B$bootstrap_target_sysroot/nyan/glibc/current/lib -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include -isystem $bootstrap_target_sysroot/nyan/glibc/current/include" \
38 "HOSTCC=$bootstrap_build_cc $bootstrap_build_cppflags $bootstrap_build_ccld_flags" \
39 "AR=$bootstrap_target_gnu_triple-ar" \
40 "STRIP=$bootstrap_target_gnu_triple-strip" \
41 install
42 ln -sTf 0 $bootstrap_target_sysroot/nyan/busybox/current
43 chmod 4755 $bootstrap_target_sysroot/nyan/busybox/current/bin/busybox
44 # install as the main shell
45 mkdir -p $bootstrap_target_sysroot/bin
46 ln -sTf /nyan/busybox/current/bin/ash $bootstrap_target_sysroot/bin/sh
47
48 export PATH=$PATH_SAVED
49 rm -Rf $build_dir $pkg_dir
File builders/bootstrap/busybox/config copied from file builders/busybox-1/config (similarity 99%) (mode: 100644) (index 07009e8..34e1fc0)
... ... CONFIG_INSTALL_APPLET_SYMLINKS=y
66 66 # CONFIG_INSTALL_SH_APPLET_SYMLINK is not set # CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
67 67 # CONFIG_INSTALL_SH_APPLET_HARDLINK is not set # CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
68 68 # CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set # CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
69 CONFIG_PREFIX="/nyan/busybox/1"
69 CONFIG_PREFIX="/run/busybox/0"
70 70
71 71 # #
72 72 # Debugging Options # Debugging Options
File builders/bootstrap/cross-binutils/builder.sh added (mode: 100644) (index 0000000..1804da5)
1 . $nyan_root/conf.bootstrap.sh
2
3 version=2.36.1
4 archive_name=binutils-$version.tar.xz
5 url0=http://ftpmirror.gnu.org/binutils/$archive_name
6
7 src_dir=$pkgs_dir_root/binutils-$version
8 cp -f $src_dir_root/$archive_name $pkgs_dir_root
9 rm -Rf $src_dir
10 cd $pkgs_dir_root
11 tar xf $archive_name
12
13 build_dir=$builds_dir_root/$pkg_name-$version
14 rm -Rf $build_dir
15 mkdir -p $build_dir
16 cd $build_dir
17
18 bfd_sub_conf_opts="\
19 --with-mmap \
20 "
21 binutils_sub_conf_opts="\
22 --disable-libctf \
23 --disable-rpath \
24 "
25 ld_gas_bfd_sub_conf_opts="\
26 --disable-plugins \
27 --disable-nls \
28 "
29
30 # WARNING: do not configure with-sysroot option as gcc "driver" will pass the
31 # sysroot command line option
32 # CPPFLAGS won't be used for subdirs, must manually add them where appropriate
33 export "CPP=$bootstrap_build_cpp $bootstrap_build_zlib_cppflags"
34 export "CPPFLAGS=$bootstrap_build_cppflags"
35 export "CFLAGS=$bootstrap_build_zlib_cppflags $bootstrap_build_cflags"
36 export "CC=$bootstrap_build_cc $bootstrap_build_cppflags $bootstrap_build_ccld_flags"
37 # we need this, usual autotools and c++ crap
38 export "CXX=$bootstrap_build_cc $CFLAGS $CPPFLAGS $bootstrap_build_ccld_flags"
39 export "LDFLAGS=$bootstrap_build_zlib_ldflags $bootstrap_build_ccld_flags"
40 $src_dir/configure \
41 --prefix=$bootstrap_target_cross_toolchain \
42 --build=$bootstrap_build_gnu_triple \
43 --host=$bootstrap_build_gnu_triple \
44 --target=$bootstrap_target_gnu_triple \
45 --enable-gold=no \
46 --enable-ld=yes \
47 --with-system-zlib \
48 $bfd_sub_conf_opts \
49 $binutils_sub_conf_opts \
50 $ld_gas_bfd_sub_conf_opts
51 unset CPP
52 unset CPPFLAGS
53 unset CFLAGS
54 unset CC
55 unset CXX
56 unset LDFLAGS
57
58 make -j $threads_n
59 make install
60 #cleanup
61 rm -Rf $bootstrap_target_cross_toolchain/share
62 # strip once since they are hardlinks
63 $bootstrap_build_gnu_triple-strip -s $bootstrap_target_cross_toolchain/bin/*
64
65 rm -f $pkgs_dir_root/$archive_name
66 rm -Rf $src_dir $build_dir
File builders/bootstrap/cross-gcc/bswap16.patch added (mode: 100644) (index 0000000..4c1d958)
1 --- c-family/c-common.c (revision 186176)
2 +++ c-family/c-common.c (working copy)
3 @@ -4991,7 +4991,7 @@ c_common_nodes_and_builtins (void)
4 uint8_type_node =
5 TREE_TYPE (identifier_global_value (c_get_ident (UINT8_TYPE)));
6 if (UINT16_TYPE)
7 - uint16_type_node =
8 + c_uint16_type_node =
9 TREE_TYPE (identifier_global_value (c_get_ident (UINT16_TYPE)));
10 if (UINT32_TYPE)
11 c_uint32_type_node =
12 --- c-family/c-common.h (revision 186176)
13 +++ c-family/c-common.h (working copy)
14 @@ -390,7 +390,7 @@ extern const unsigned int num_c_common_r
15 #define int32_type_node c_global_trees[CTI_INT32_TYPE]
16 #define int64_type_node c_global_trees[CTI_INT64_TYPE]
17 #define uint8_type_node c_global_trees[CTI_UINT8_TYPE]
18 -#define uint16_type_node c_global_trees[CTI_UINT16_TYPE]
19 +#define c_uint16_type_node c_global_trees[CTI_UINT16_TYPE]
20 #define c_uint32_type_node c_global_trees[CTI_UINT32_TYPE]
21 #define c_uint64_type_node c_global_trees[CTI_UINT64_TYPE]
22 #define int_least8_type_node c_global_trees[CTI_INT_LEAST8_TYPE]
23 --- c-family/c-cppbuiltin.c (revision 186176)
24 +++ c-family/c-cppbuiltin.c (working copy)
25 @@ -448,8 +448,8 @@ builtin_define_stdint_macros (void)
26 builtin_define_type_max ("__INT64_MAX__", int64_type_node);
27 if (uint8_type_node)
28 builtin_define_type_max ("__UINT8_MAX__", uint8_type_node);
29 - if (uint16_type_node)
30 - builtin_define_type_max ("__UINT16_MAX__", uint16_type_node);
31 + if (c_uint16_type_node)
32 + builtin_define_type_max ("__UINT16_MAX__", c_uint16_type_node);
33 if (c_uint32_type_node)
34 builtin_define_type_max ("__UINT32_MAX__", c_uint32_type_node);
35 if (c_uint64_type_node)
36 --- optabs.c (revision 186176)
37 +++ optabs.c (working copy)
38 @@ -3030,6 +3030,47 @@ expand_unop (enum machine_mode mode, opt
39 /* Widening (or narrowing) bswap needs special treatment. */
40 if (unoptab == bswap_optab)
41 {
42 + /* HImode is special because in this mode BSWAP is equivalent to ROTATE
43 + or ROTATERT. First try these directly; if this fails, then try the
44 + obvious pair of shifts with allowed widening, as this will probably
45 + be always more efficient than the other fallback methods. */
46 + if (mode == HImode)
47 + {
48 + rtx last, temp1, temp2;
49 +
50 + if (optab_handler (rotl_optab, mode) != CODE_FOR_nothing)
51 + {
52 + temp = expand_binop (mode, rotl_optab, op0, GEN_INT (8), target,
53 + unsignedp, OPTAB_DIRECT);
54 + if (temp)
55 + return temp;
56 + }
57 +
58 + if (optab_handler (rotr_optab, mode) != CODE_FOR_nothing)
59 + {
60 + temp = expand_binop (mode, rotr_optab, op0, GEN_INT (8), target,
61 + unsignedp, OPTAB_DIRECT);
62 + if (temp)
63 + return temp;
64 + }
65 +
66 + last = get_last_insn ();
67 +
68 + temp1 = expand_binop (mode, ashl_optab, op0, GEN_INT (8), NULL_RTX,
69 + unsignedp, OPTAB_WIDEN);
70 + temp2 = expand_binop (mode, lshr_optab, op0, GEN_INT (8), NULL_RTX,
71 + unsignedp, OPTAB_WIDEN);
72 + if (temp1 && temp2)
73 + {
74 + temp = expand_binop (mode, ior_optab, temp1, temp2, target,
75 + unsignedp, OPTAB_WIDEN);
76 + if (temp)
77 + return temp;
78 + }
79 +
80 + delete_insns_since (last);
81 + }
82 +
83 temp = widen_bswap (mode, op0, target);
84 if (temp)
85 return temp;
86 @@ -3222,10 +3263,10 @@ expand_unop (enum machine_mode mode, opt
87 /* For certain operations, we need not actually extend
88 the narrow operand, as long as we will truncate the
89 results to the same narrowness. */
90 -
91 xop0 = widen_operand (xop0, wider_mode, mode, unsignedp,
92 (unoptab == neg_optab
93 - || unoptab == one_cmpl_optab)
94 + || unoptab == one_cmpl_optab
95 + || unoptab == bswap_optab)
96 && mclass == MODE_INT);
97
98 temp = expand_unop (wider_mode, unoptab, xop0, NULL_RTX,
99 @@ -3240,6 +3281,20 @@ expand_unop (enum machine_mode mode, opt
100 - GET_MODE_PRECISION (mode)),
101 target, true, OPTAB_DIRECT);
102
103 + /* Likewise for bswap. */
104 + if (unoptab == bswap_optab && temp != 0)
105 + {
106 + gcc_assert (GET_MODE_PRECISION (wider_mode)
107 + == GET_MODE_BITSIZE (wider_mode)
108 + && GET_MODE_PRECISION (mode)
109 + == GET_MODE_BITSIZE (mode));
110 +
111 + temp = expand_shift (RSHIFT_EXPR, wider_mode, temp,
112 + GET_MODE_BITSIZE (wider_mode)
113 + - GET_MODE_BITSIZE (mode),
114 + NULL_RTX, true);
115 + }
116 +
117 if (temp)
118 {
119 if (mclass != MODE_INT)
120 --- tree.c (revision 186176)
121 +++ tree.c (working copy)
122 @@ -9388,6 +9388,7 @@ build_common_tree_nodes (bool signed_cha
123 integer_ptr_type_node = build_pointer_type (integer_type_node);
124
125 /* Fixed size integer types. */
126 + uint16_type_node = build_nonstandard_integer_type (16, true);
127 uint32_type_node = build_nonstandard_integer_type (32, true);
128 uint64_type_node = build_nonstandard_integer_type (64, true);
129
130 --- tree.h (revision 186176)
131 +++ tree.h (working copy)
132 @@ -3747,6 +3747,7 @@ enum tree_index
133 TI_UINTDI_TYPE,
134 TI_UINTTI_TYPE,
135
136 + TI_UINT16_TYPE,
137 TI_UINT32_TYPE,
138 TI_UINT64_TYPE,
139
140 @@ -3902,6 +3903,7 @@ extern GTY(()) tree global_trees[TI_MAX]
141 #define unsigned_intDI_type_node global_trees[TI_UINTDI_TYPE]
142 #define unsigned_intTI_type_node global_trees[TI_UINTTI_TYPE]
143
144 +#define uint16_type_node global_trees[TI_UINT16_TYPE]
145 #define uint32_type_node global_trees[TI_UINT32_TYPE]
146 #define uint64_type_node global_trees[TI_UINT64_TYPE]
147
148 --- builtins.c (revision 186176)
149 +++ builtins.c (working copy)
150 @@ -4626,13 +4626,15 @@ expand_builtin_alloca (tree exp, bool ca
151 return result;
152 }
153
154 -/* Expand a call to a bswap builtin with argument ARG0. MODE
155 - is the mode to expand with. */
156 +/* Expand a call to bswap builtin in EXP.
157 + Return NULL_RTX if a normal call should be emitted rather than expanding the
158 + function in-line. If convenient, the result should be placed in TARGET.
159 + SUBTARGET may be used as the target for computing one of EXP's operands. */
160
161 static rtx
162 -expand_builtin_bswap (tree exp, rtx target, rtx subtarget)
163 +expand_builtin_bswap (enum machine_mode target_mode, tree exp, rtx target,
164 + rtx subtarget)
165 {
166 - enum machine_mode mode;
167 tree arg;
168 rtx op0;
169
170 @@ -4640,14 +4642,18 @@ expand_builtin_bswap (tree exp, rtx targ
171 return NULL_RTX;
172
173 arg = CALL_EXPR_ARG (exp, 0);
174 - mode = TYPE_MODE (TREE_TYPE (arg));
175 - op0 = expand_expr (arg, subtarget, VOIDmode, EXPAND_NORMAL);
176 + op0 = expand_expr (arg,
177 + subtarget && GET_MODE (subtarget) == target_mode
178 + ? subtarget : NULL_RTX,
179 + target_mode, EXPAND_NORMAL);
180 + if (GET_MODE (op0) != target_mode)
181 + op0 = convert_to_mode (target_mode, op0, 1);
182
183 - target = expand_unop (mode, bswap_optab, op0, target, 1);
184 + target = expand_unop (target_mode, bswap_optab, op0, target, 1);
185
186 gcc_assert (target);
187
188 - return convert_to_mode (mode, target, 0);
189 + return convert_to_mode (target_mode, target, 1);
190 }
191
192 /* Expand a call to a unary builtin in EXP.
193 @@ -6077,10 +6083,10 @@ expand_builtin (tree exp, rtx target, rt
194 expand_stack_restore (CALL_EXPR_ARG (exp, 0));
195 return const0_rtx;
196
197 + case BUILT_IN_BSWAP16:
198 case BUILT_IN_BSWAP32:
199 case BUILT_IN_BSWAP64:
200 - target = expand_builtin_bswap (exp, target, subtarget);
201 -
202 + target = expand_builtin_bswap (target_mode, exp, target, subtarget);
203 if (target)
204 return target;
205 break;
206 --- builtin-types.def (revision 186176)
207 +++ builtin-types.def (working copy)
208 @@ -76,6 +76,7 @@ DEF_PRIMITIVE_TYPE (BT_INT128, int128_in
209 DEF_PRIMITIVE_TYPE (BT_UINT128, int128_unsigned_type_node)
210 DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node)
211 DEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node)
212 +DEF_PRIMITIVE_TYPE (BT_UINT16, uint16_type_node)
213 DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node)
214 DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node)
215 DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
216 @@ -226,6 +227,7 @@ DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR,
217 DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
218 DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
219 DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
220 +DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
221 DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32)
222 DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64)
223
224 --- builtins.def (revision 186176)
225 +++ builtins.def (working copy)
226 @@ -628,6 +628,7 @@ DEF_GCC_BUILTIN (BUILT_IN_AGGREGA
227 DEF_EXT_LIB_BUILTIN (BUILT_IN_ALLOCA, "alloca", BT_FN_PTR_SIZE, ATTR_MALLOC_NOTHROW_LEAF_LIST)
228 DEF_GCC_BUILTIN (BUILT_IN_APPLY, "apply", BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE, ATTR_NULL)
229 DEF_GCC_BUILTIN (BUILT_IN_APPLY_ARGS, "apply_args", BT_FN_PTR_VAR, ATTR_LEAF_LIST)
230 +DEF_GCC_BUILTIN (BUILT_IN_BSWAP16, "bswap16", BT_FN_UINT16_UINT16, ATTR_CONST_NOTHROW_LEAF_LIST)
231 DEF_GCC_BUILTIN (BUILT_IN_BSWAP32, "bswap32", BT_FN_UINT32_UINT32, ATTR_CONST_NOTHROW_LEAF_LIST)
232 DEF_GCC_BUILTIN (BUILT_IN_BSWAP64, "bswap64", BT_FN_UINT64_UINT64, ATTR_CONST_NOTHROW_LEAF_LIST)
233 DEF_EXT_LIB_BUILTIN (BUILT_IN_CLEAR_CACHE, "__clear_cache", BT_FN_VOID_PTR_PTR, ATTR_NOTHROW_LEAF_LIST)
File builders/bootstrap/cross-gcc/builder.sh added (mode: 100644) (index 0000000..088c737)
1 . $nyan_root/conf.bootstrap.sh
2
3 src_name=gcc
4 #TODO: move to gcc "4.7.5"
5 version=4.7.4
6 archive_name=$src_name-$version.tar.bz2
7 url0=https://ftpmirror.gnu.org/$src_name/$src_name-$version/$archive_name
8
9 src_dir=$pkgs_dir_root/$src_name-$version
10 cp -f $src_dir_root/$archive_name $pkgs_dir_root
11 rm -Rf $src_dir
12 cd $pkgs_dir_root
13 tar xf $archive_name
14 #-------------------------------------------------------------------------------
15 # copy a fixed version of gperf hash file, pending for a non-gperf alternative
16 cp -f $nyan_root/builders/bootstrap/$pkg_name/cfns.h $src_dir/gcc/cp
17 #-------------------------------------------------------------------------------
18 # patch a linux troublesome bug
19 # https://gcc.gnu.org/bugzilla/attachment.cgi?id=30653
20 cp -f $nyan_root/builders/bootstrap/$pkg_name/tree-sra.c.patch $src_dir/gcc
21 cd $src_dir/gcc
22 patch -p0 -N -i ./tree-sra.c.patch
23 #-------------------------------------------------------------------------------
24 # add the missing bswap16
25 # https://gcc.gnu.org/legacy-ml/gcc-patches/2012-04/msg00452.html
26 cp -f $nyan_root/builders/bootstrap/$pkg_name/bswap16.patch $src_dir/gcc
27 patch -p0 -i ./bswap16.patch
28 #-------------------------------------------------------------------------------
29 build_dir=$builds_dir_root/$src_name-$version-$bootstrap_target_gnu_triple
30 rm -Rf $build_dir
31 mkdir -p $build_dir
32 # sdk tool dependencies, build to run on the build system
33 build_dir_buildsystem=$build_dir/build-$bootstrap_build_gnu_triple
34 # BUILDSYSTEM = HOST != TARGET --> CROSS-COMPILER
35 echo "################################################################################"
36 echo "LIBERTY TO RUN ON THE BUILD SYSTEM"
37 mkdir -p $build_dir_buildsystem/libiberty
38 cd $build_dir_buildsystem/libiberty
39 export "CPP=$bootstrap_build_cpp"
40 export "CC=$bootstrap_build_cc $bootstrap_build_cppflags $bootstrap_build_ccld_flags"
41 export "CFLAGS=$bootstrap_build_cflags"
42 $src_dir/libiberty/configure \
43 --prefix=$build_dir_buildsystem/libiberty \
44 \
45 --build=$bootstrap_build_gnu_triple \
46 --host=$bootstrap_build_gnu_triple \
47 \
48 --disable-multilib
49 unset CPP
50 unset CC
51 unset CFLAGS
52 make -j $threads_n
53 echo "################################################################################"
54 echo "FIXINCLUDES TO RUN ON THE BUILD SYSTEM"
55 #-------------------------------------------------------------------------------
56 if test ! -d $bootstrap_target_sysroot/nyan/glibc/current/include; then
57 remove_fake_glibc_include_dir=yes
58 echo 'CREATING EMPTY/FAKE LIBC INCLUDE DIRECTORY'
59 mkdir -p $bootstrap_target_sysroot/nyan/glibc/current/include
60 fi
61 #-------------------------------------------------------------------------------
62 # it seems only gcc/glimits.h needs to be put in gcc internal fix-includes as
63 # limits.h (glibc limits.h expect gcc limits.h if gcc is the used compiler)
64 mkdir -p $build_dir_buildsystem/fixincludes
65 cd $build_dir_buildsystem/fixincludes
66 export "CPP=$bootstrap_build_cpp"
67 export "CC=$bootstrap_build_cc $bootstrap_build_cppflags $bootstrap_build_ccld_flags"
68 export "CFLAGS=$bootstrap_build_cflags"
69 $src_dir/fixincludes/configure \
70 --prefix=$build_dir_buildsystem/libiberty \
71 \
72 --build=$bootstrap_build_gnu_triple \
73 --host=$bootstrap_build_gnu_triple \
74 --target=$bootstrap_target_gnu_triple
75 unset CPP
76 unset CC
77 unset CFLAGS
78 make -j $threads_n
79 echo "################################################################################"
80 echo "LIBCPP TO RUN ON THE HOST SYSTEM, TO PREPROCESS FOR THE TARGET SYSTEM"
81 mkdir -p $build_dir/libcpp
82 cd $build_dir/libcpp
83 export "CPP=$bootstrap_build_cpp"
84 export "CC=$bootstrap_build_cc $bootstrap_build_cppflags $bootstrap_build_ccld_flags"
85 export "CFLAGS=$bootstrap_build_cflags"
86 export "CXX=none_please"
87 $src_dir/libcpp/configure \
88 --prefix=$build_dir/libcpp \
89 \
90 --build=$bootstrap_build_gnu_triple \
91 --host=$bootstrap_build_gnu_triple \
92 --target=$bootstrap_target_gnu_triple \
93 \
94 --disable-rpath
95 unset CPP
96 unset CC
97 unset CFLAGS
98 unset CXX
99 # AR is miss-configured, force it via the makefile variable
100 make -j $threads_n "AR=$bootstrap_build_ar"
101 echo "################################################################################"
102 echo "LIBERTY TO RUN ON THE HOST SYSTEM"
103 # we are cheating, it is the same than the build system here
104 # the host system directory is the main/central directory
105 echo "symlinking the build system directory, because here it is the same"
106 rm -f $build_dir/libiberty
107 ln -s $build_dir_buildsystem/libiberty $build_dir/libiberty
108 echo "################################################################################"
109 echo "LIBDECNUMBER TO RUN ON THE HOST SYSTEM"
110 mkdir -p $build_dir/libdecnumber
111 cd $build_dir/libdecnumber
112 export "CPP=$bootstrap_build_cpp"
113 export "CC=$bootstrap_build_cc $bootstrap_build_cppflags $bootstrap_build_ccld_flags"
114 export "CFLAGS=$bootstrap_build_cflags"
115 $src_dir/libdecnumber/configure \
116 --prefix=$build_dir/libdecnumber \
117 \
118 --build=$bootstrap_build_gnu_triple \
119 --host=$bootstrap_build_gnu_triple \
120 --target=$bootstrap_target_gnu_triple \
121 \
122 --enable-decimal-float=no
123 unset CPP
124 unset CC
125 unset CFLAGS
126 # AR is miss-configured, force it via the makefile variable
127 make -j $threads_n "AR=$bootstrap_build_ar"
128 echo "################################################################################"
129 echo "GCC TO RUN ON THE HOST SYSTEM, TO COMPILE/LINK FOR THE TARGET SYSTEM"
130 mkdir -p $build_dir/gcc
131 cd $build_dir/gcc
132 export "CPP=$bootstrap_build_cpp"
133 export "CPPFLAGS=$bootstrap_build_zlib_cppflags -I$bootstrap_target_cross_toolchain/include"
134 export "CC=$bootstrap_build_cc $bootstrap_build_cppflags $bootstrap_build_ccld_flags"
135 export "CFLAGS=$bootstrap_build_cflags"
136 export "CXX=none_please"
137 export "CXXCPP=$bootstrap_build_cpp"
138 export "AR=$bootstrap_build_gnu_triple-ar"
139 export "LDFLAGS=$bootstrap_build_zlib_ldflags -L$bootstrap_target_cross_toolchain/lib"
140 export "LIBS=-lmpc -lmpfr -lgmp -lpthread"
141 export "AS_FOR_TARGET=$bootstrap_target_cross_toolchain/bin/$bootstrap_target_gnu_triple-as"
142 export "LD_FOR_TARGET=$bootstrap_target_cross_toolchain/bin/$bootstrap_target_gnu_triple-ld"
143 export "NM_FOR_TARGET=$bootstrap_target_cross_toolchain/bin/$bootstrap_target_gnu_triple-nm"
144 export "AR_FOR_TARGET=$bootstrap_target_cross_toolchain/bin/$bootstrap_target_gnu_triple-ar"
145 export "OBJDUMP_FOR_TARGET=$bootstrap_target_cross_toolchain/bin/$bootstrap_target_gnu_triple-objdump"
146 # XXX:no READELF_FOR_TARGET, using the configure arguments, see below.
147 # native system header dir is relative to sysroot
148 $src_dir/gcc/configure \
149 --prefix=$bootstrap_target_cross_toolchain \
150 \
151 --build=$bootstrap_build_gnu_triple \
152 --host=$bootstrap_build_gnu_triple \
153 --target=$bootstrap_target_gnu_triple \
154 \
155 --enable-decimal-float=no \
156 --enable-threads=posix \
157 --enable-tls \
158 --enable-shared \
159 --enable-languages=c,c++ \
160 --disable-rpath \
161 --enable-version-specific-runtime-libs \
162 --disable-plugin \
163 --disable-libquadmath-support \
164 --with-sysroot=$bootstrap_target_sysroot \
165 --with-native-system-header-dir=/nyan/glibc/current/include \
166 --with-system-zlib \
167 "gcc_cv_readelf=$bootstrap_target_cross_toolchain/bin/$bootstrap_target_gnu_triple-readelf"
168 unset CPP
169 unset CPPFLAGS
170 unset CC
171 unset CFLAGS
172 unset CXX
173 unset CXXCPP
174 unset AR
175 unset LDFLAGS
176 unset LIBS
177 unset AS_FOR_TARGET
178 unset LD_FOR_TARGET
179 unset NM_FOR_TARGET
180 unset AR_FOR_TARGET
181 unset OBJDUMP_FOR_TARGET
182 make -j $threads_n
183 echo
184 echo "################################################################################"
185 echo "INSTALLING GCC TO RUN ON THE HOST SYSTEM, TO COMPILE/LINK FOR THE TARGET SYSTEM"
186 make install
187
188 rm -Rf $bootstrap_target_cross_toolchain/share/man
189 rm -Rf $bootstrap_target_cross_toolchain/share/info
190 rmdir -p $bootstrap_target_cross_toolchain/share || true
191 # hard links of gcc compiler drivers (gcc/g++) then binaries in arch specific
192 # directory are stripped too
193 $bootstrap_build_strip -s $bootstrap_target_cross_toolchain/bin/*
194 # the c99 compiler
195 $bootstrap_build_strip -s $bootstrap_target_cross_toolchain/libexec/$src_name/$bootstrap_target_gnu_triple/$version/cc1
196 # the c++98 compiler
197 $bootstrap_build_strip -s $bootstrap_target_cross_toolchain/libexec/$src_name/$bootstrap_target_gnu_triple/$version/cc1plus
198 # the linker wrapper
199 $bootstrap_build_strip -s $bootstrap_target_cross_toolchain/libexec/$src_name/$bootstrap_target_gnu_triple/$version/collect2
200 echo "################################################################################"
201 if test "x$remove_fake_glibc_include_dir" = "xyes"; then
202 echo 'REMOVING EMPTY/FAKE LIBC INCLUDE DIRECTORY'
203 rmdir -p $bootstrap_target_sysroot/nyan/glibc/current/include || true
204 fi
205 echo "################################################################################"
206 echo "SOURCE AND BUILD DIRECTORIES WERE NOT DELETED"
207 # don't erase the src dir and the build dir since libgcc/libstdc++ will need to
208 # look for "things" (which will have to be figured out) there
209 #rm -Rf $build_dir
210 rm -f $pkgs_dir_root/$archive_name
211 #rm -Rf $src_dir
File builders/bootstrap/cross-gcc/cfns.h added (mode: 100644) (index 0000000..04748d6)
1 /* ANSI-C code produced by gperf version 3.0.3 */
2 /* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf */
3
4 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
5 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
6 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
7 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
8 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
9 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
10 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
11 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
12 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
13 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
14 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
15 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
16 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
17 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
18 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
19 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
20 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
21 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
22 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
23 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
24 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
25 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
26 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
27 /* The character set is not based on ISO-646. */
28 #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
29 #endif
30
31 #line 1 "cfns.gperf"
32
33 /* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
34
35 This file is part of GCC.
36
37 GCC is free software; you can redistribute it and/or modify it under
38 the terms of the GNU General Public License as published by the Free
39 Software Foundation; either version 3, or (at your option) any later
40 version.
41
42 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
43 WARRANTY; without even the implied warranty of MERCHANTABILITY or
44 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
45 for more details.
46
47 You should have received a copy of the GNU General Public License
48 along with GCC; see the file COPYING3. If not see
49 <http://www.gnu.org/licenses/>. */
50 #ifdef __GNUC__
51 __inline
52 #ifdef __GNUC_STDC_INLINE__
53 __attribute__ ((__gnu_inline__))
54 #endif
55 #endif
56 static unsigned int hash (const char *, unsigned int);
57 #ifdef __GNUC__
58 __inline
59 #ifdef __GNUC_STDC_INLINE__
60 __attribute__ ((__gnu_inline__))
61 #endif
62 #endif
63 const char * libc_name_p (const char *, unsigned int);
64 /* maximum key range = 391, duplicates = 0 */
65
66 #ifdef __GNUC__
67 __inline
68 #ifdef __GNUC_STDC_INLINE__
69 __attribute__ ((__gnu_inline__))
70 #endif
71 #else
72 #ifdef __cplusplus
73 inline
74 #endif
75 #endif
76 static unsigned int
77 hash (register const char *str, register unsigned int len)
78 {
79 static const unsigned short asso_values[] =
80 {
81 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
82 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
83 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
84 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
85 400, 400, 400, 400, 400, 400, 400, 400, 0, 0,
86 1, 400, 400, 400, 400, 400, 400, 400, 400, 400,
87 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
88 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
89 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
90 400, 400, 400, 400, 400, 400, 400, 28, 90, 0,
91 95, 0, 51, 93, 114, 26, 109, 124, 5, 1,
92 6, 13, 37, 128, 3, 0, 0, 49, 38, 0,
93 104, 45, 0, 400, 400, 400, 400, 400, 400, 400,
94 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
95 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
96 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
97 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
98 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
99 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
100 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
101 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
102 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
103 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
104 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
105 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
106 400, 400, 400, 400, 400, 400, 400
107 };
108 register int hval = len;
109
110 switch (hval)
111 {
112 default:
113 hval += asso_values[(unsigned char)str[5]+1];
114 /*FALLTHROUGH*/
115 case 5:
116 hval += asso_values[(unsigned char)str[4]];
117 /*FALLTHROUGH*/
118 case 4:
119 hval += asso_values[(unsigned char)str[3]];
120 /*FALLTHROUGH*/
121 case 3:
122 hval += asso_values[(unsigned char)str[2]];
123 /*FALLTHROUGH*/
124 case 2:
125 hval += asso_values[(unsigned char)str[1]];
126 /*FALLTHROUGH*/
127 case 1:
128 hval += asso_values[(unsigned char)str[0]];
129 break;
130 }
131 return hval + asso_values[(unsigned char)str[len - 1]];
132 }
133
134 #ifdef __GNUC__
135 __inline
136 #ifdef __GNUC_STDC_INLINE__
137 __attribute__ ((__gnu_inline__))
138 #endif
139 #endif
140 const char *
141 libc_name_p (register const char *str, register unsigned int len)
142 {
143 enum
144 {
145 TOTAL_KEYWORDS = 156,
146 MIN_WORD_LENGTH = 3,
147 MAX_WORD_LENGTH = 10,
148 MIN_HASH_VALUE = 9,
149 MAX_HASH_VALUE = 399
150 };
151
152 static const char * const wordlist[] =
153 {
154 "wcsstr",
155 "strstr",
156 "cos",
157 "towctrans",
158 "memmove",
159 "wcstol",
160 "wcscoll",
161 "wcstombs",
162 "strtol",
163 "strcoll",
164 "wcslen",
165 "time",
166 "ctime",
167 "strlen",
168 "iswctype",
169 "wmemchr",
170 "wcsrchr",
171 "ceil",
172 "sin",
173 "strrchr",
174 "tan",
175 "iscntrl",
176 "acos",
177 "wmemmove",
178 "wcsrtombs",
179 "wctrans",
180 "wmemcmp",
181 "pow",
182 "atol",
183 "wcsncmp",
184 "memset",
185 "free",
186 "strncmp",
187 "wmemset",
188 "wcsspn",
189 "wcstoul",
190 "strspn",
191 "strtoul",
192 "asctime",
193 "atan2",
194 "asin",
195 "atan",
196 "ferror",
197 "iswalnum",
198 "wcscat",
199 "realloc",
200 "strcat",
201 "wcscpy",
202 "memcpy",
203 "strcpy",
204 "tolower",
205 "floor",
206 "iswcntrl",
207 "atoi",
208 "clearerr",
209 "swscanf",
210 "wcsncat",
211 "islower",
212 "strncat",
213 "btowc",
214 "localtime",
215 "wctomb",
216 "isalnum",
217 "isprint",
218 "mblen",
219 "wcstod",
220 "log10",
221 "strtod",
222 "wcrtomb",
223 "abs",
224 "setlocale",
225 "wcschr",
226 "mbrlen",
227 "memchr",
228 "strchr",
229 "labs",
230 "iswpunct",
231 "exit",
232 "sqrt",
233 "swprintf",
234 "wctype",
235 "mbsrtowcs",
236 "wcscspn",
237 "getenv",
238 "strcspn",
239 "towlower",
240 "atof",
241 "wcstok",
242 "localeconv",
243 "strtok",
244 "calloc",
245 "malloc",
246 "isalpha",
247 "iswlower",
248 "iswspace",
249 "wcsxfrm",
250 "signal",
251 "strxfrm",
252 "wcsftime",
253 "feof",
254 "strftime",
255 "wcscmp",
256 "fabs",
257 "memcmp",
258 "strcmp",
259 "vsprintf",
260 "fwide",
261 "gmtime",
262 "sprintf",
263 "exp",
264 "wmemcpy",
265 "iswprint",
266 "sscanf",
267 "wcsncpy",
268 "strncpy",
269 "isspace",
270 "toupper",
271 "wctob",
272 "div",
273 "mbtowc",
274 "ldiv",
275 "log",
276 "mktime",
277 "isupper",
278 "atexit",
279 "modf",
280 "mbstowcs",
281 "mbrtowc",
282 "ispunct",
283 "iswalpha",
284 "setvbuf",
285 "rand",
286 "srand",
287 "frexp",
288 "towupper",
289 "mbsinit",
290 "cosh",
291 "vswprintf",
292 "iswupper",
293 "wcspbrk",
294 "fmod",
295 "strpbrk",
296 "sinh",
297 "tanh",
298 "iswdigit",
299 "clock",
300 "longjmp",
301 "ldexp",
302 "setbuf",
303 "fseek",
304 "iswgraph",
305 "difftime",
306 "iswxdigit",
307 "isdigit",
308 "isxdigit",
309 "isgraph"
310 };
311
312 static const short lookup[] =
313 {
314 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
315 -1, -1, 1, -1, -1, -1, 2, -1, -1, -1,
316 -1, -1, 3, 4, -1, 5, 6, 7, 8, 9,
317 10, 11, 12, 13, 14, -1, -1, -1, 15, 16,
318 17, 18, 19, 20, 21, 22, -1, -1, 23, 24,
319 -1, 25, 26, 27, -1, 28, 29, 30, 31, 32,
320 33, -1, 34, 35, -1, 36, 37, 38, -1, 39,
321 40, -1, 41, -1, -1, -1, -1, -1, -1, 42,
322 -1, 43, -1, 44, -1, 45, 46, -1, 47, -1,
323 48, 49, 50, 51, 52, -1, -1, 53, 54, 55,
324 -1, -1, -1, 56, -1, 57, 58, -1, 59, 60,
325 61, 62, 63, 64, 65, -1, 66, 67, -1, 68,
326 -1, 69, 70, 71, 72, 73, 74, 75, -1, -1,
327 -1, -1, -1, 76, 77, 78, -1, -1, 79, 80,
328 81, 82, -1, 83, 84, -1, 85, 86, 87, -1,
329 88, 89, 90, 91, -1, -1, -1, 92, -1, 93,
330 -1, 94, -1, 95, -1, 96, 97, -1, 98, -1,
331 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
332 -1, 109, 110, 111, 112, -1, 113, -1, -1, 114,
333 -1, -1, -1, 115, -1, -1, -1, 116, 117, -1,
334 118, -1, -1, -1, -1, 119, 120, 121, -1, 122,
335 123, -1, -1, 124, -1, 125, 126, -1, 127, -1,
336 128, -1, -1, 129, 130, -1, -1, -1, -1, -1,
337 -1, 131, 132, -1, -1, -1, -1, 133, 134, 135,
338 -1, -1, -1, -1, -1, 136, -1, 137, -1, -1,
339 -1, 138, -1, -1, -1, -1, -1, -1, 139, 140,
340 -1, 141, -1, -1, 142, -1, 143, -1, -1, 144,
341 -1, 145, -1, -1, -1, -1, 146, -1, -1, -1,
342 -1, -1, -1, 147, -1, -1, -1, -1, -1, 148,
343 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
344 -1, -1, -1, -1, 149, -1, -1, -1, -1, -1,
345 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
346 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
347 -1, -1, -1, -1, 150, -1, -1, -1, -1, -1,
348 151, -1, -1, 152, -1, -1, -1, -1, -1, -1,
349 -1, -1, -1, -1, -1, -1, 153, -1, -1, -1,
350 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
351 -1, -1, -1, 154, -1, -1, -1, -1, -1, -1,
352 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
353 -1, -1, -1, -1, -1, -1, -1, -1, -1, 155
354 };
355
356 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
357 {
358 register int key = hash (str, len);
359
360 if (key <= MAX_HASH_VALUE && key >= 0)
361 {
362 register int index = lookup[key];
363
364 if (index >= 0)
365 {
366 register const char *s = wordlist[index];
367
368 if (*str == *s && !strcmp (str + 1, s + 1))
369 return s;
370 }
371 }
372 }
373 return 0;
374 }
File builders/bootstrap/cross-gcc/tree-sra.c.patch added (mode: 100644) (index 0000000..c298a1b)
1 --- tree-sra.c
2 +++ tree-sra.c
3 @@ -1480,9 +1480,11 @@
4 {
5 tree prev_base = base;
6 tree off;
7 + tree mem_ref;
8 HOST_WIDE_INT base_offset;
9 unsigned HOST_WIDE_INT misalign;
10 unsigned int align;
11 + bool is_volatile = TREE_THIS_VOLATILE (TREE_TYPE (base));
12
13 gcc_checking_assert (offset % BITS_PER_UNIT == 0);
14
15 @@ -1547,7 +1549,14 @@
16 if (align < TYPE_ALIGN (exp_type))
17 exp_type = build_aligned_type (exp_type, align);
18
19 - return fold_build2_loc (loc, MEM_REF, exp_type, base, off);
20 + if (is_volatile && !TREE_THIS_VOLATILE (exp_type))
21 + exp_type = build_qualified_type (exp_type, TYPE_QUALS (exp_type)
22 + | TYPE_QUAL_VOLATILE);
23 +
24 + mem_ref = fold_build2_loc (loc, MEM_REF, exp_type, base, off);
25 + if (TREE_THIS_VOLATILE (exp_type))
26 + TREE_THIS_VOLATILE (mem_ref) = 1;
27 + return mem_ref;
28 }
29
30 DEF_VEC_ALLOC_P_STACK (tree);
File builders/bootstrap/cross-gmp/builder.sh added (mode: 100644) (index 0000000..90bb464)
1 . $nyan_root/conf.bootstrap.sh
2
3 version=6.2.0
4 archive_name=gmp-$version.tar.xz
5 url0=https://gmplib.org/download/gmp/$archive_name
6
7 src_dir=$pkgs_dir_root/gmp-$version
8 cp -f $src_dir_root/$archive_name $pkgs_dir_root
9 rm -Rf $src_dir
10 cd $pkgs_dir_root
11 tar xf $archive_name
12
13 build_dir=$builds_dir_root/$pkg_name-$version
14 rm -Rf $build_dir
15 mkdir -p $build_dir
16 cd $build_dir
17
18 # work out the right composition of flags to please the disgusting brain diareha
19 # which are meson/autotools/cmake/etc.
20 export "CPP=$bootstrap_build_cpp"
21 export "CPPFLAGS=$bootstrap_build_cppflags"
22 export "CFLAGS=$bootstrap_build_cflags $bootstrap_build_cppflags $bootstrap_build_ccld_flags"
23 export "CC=$bootstrap_build_cc"
24 $src_dir/configure \
25 --prefix=$bootstrap_target_cross_toolchain \
26 --build=$bootstrap_build_gnu_triple \
27 --host=$bootstrap_build_gnu_triple \
28 --disable-alloca \
29 --disable-cxx \
30 --disable-shared
31 unset CPP
32 unset CPPFLAGS
33 unset CFLAGS
34 unset CC
35
36 make -j $threads_n
37 make install
38
39 #cleanup
40 rm -f $bootstrap_target_cross_toolchain/lib/libgmp.la
41 rm -Rf $bootstrap_target_cross_toolchain/lib/pkgconfig
42 rm -Rf $bootstrap_target_cross_toolchain/share
43
44 rm -f $pkgs_dir_root/$archive_name
45 rm -Rf $src_dir $build_dir
File builders/bootstrap/cross-mpc/builder.sh added (mode: 100644) (index 0000000..8e55f0f)
1 . $nyan_root/conf.bootstrap.sh
2
3 version=1.1.0
4 archive_name=mpc-$version.tar.gz
5 url0=http://ftpmirror.gnu.org/mpc/$archive_name
6
7 src_dir=$pkgs_dir_root/mpc-$version
8 cp -f $src_dir_root/$archive_name $pkgs_dir_root
9 rm -Rf $src_dir
10 cd $pkgs_dir_root
11 tar xf $archive_name
12
13 build_dir=$builds_dir_root/$pkg_name-$version
14 rm -Rf $build_dir
15 mkdir -p $build_dir
16 cd $build_dir
17
18 export "CPP=$bootstrap_build_cpp"
19 export "CPPFLAGS=$bootstrap_build_cppflags"
20 export "CFLAGS=$bootstrap_build_cflags"
21 export "CC=$bootstrap_build_cc $bootstrap_build_cppflags $bootstrap_build_ccld_flags"
22 $src_dir/configure \
23 --prefix=$bootstrap_target_cross_toolchain \
24 --build=$bootstrap_build_gnu_triple \
25 --host=$bootstrap_build_gnu_triple \
26 --with-gmp=$bootstrap_target_cross_toolchain \
27 --with-mpfr=$bootstap_target_cross_toolchain \
28 --disable-shared
29 unset CPP
30 unset CPPFLAGS
31 unset CFLAGS
32 unset CC
33
34 make -j $threads_n
35 make install
36 #cleanup
37 rm -f $bootstrap_target_cross_toolchain/lib/libmpc.la
38 rm -Rf $bootstrap_target_cross_toolchain/share
39
40 rm -f $pkgs_dir_root/$archive_name
41 rm -Rf $src_dir $build_dir
File builders/bootstrap/cross-mpfr/builder.sh added (mode: 100644) (index 0000000..fe299b3)
1 . $nyan_root/conf.bootstrap.sh
2
3 version=4.1.0
4 archive_name=mpfr-$version.tar.xz
5 url0=http://www.mpfr.org/mpfr-current/$archive_name
6
7 src_dir=$pkgs_dir_root/mpfr-$version
8 cp -f $src_dir_root/$archive_name $pkgs_dir_root
9 rm -Rf $src_dir
10 cd $pkgs_dir_root
11 tar xf $archive_name
12
13 build_dir=$builds_dir_root/$pkg_name-$version
14 rm -Rf $build_dir
15 mkdir -p $build_dir
16 cd $build_dir
17
18 # work out the right composition of flags to please the disgusting brain diareha
19 # which are meson/autotools/cmake/etc.
20 export "CPP=$bootstrap_build_cpp"
21 export "CPPFLAGS=$bootstrap_build_cppflags"
22 export "CFLAGS=$bootstrap_build_cflags"
23 export "CC=$bootstrap_build_cc $bootstrap_build_cppflags $bootstrap_build_ccld_flags"
24 $src_dir/configure \
25 --prefix=$bootstrap_target_cross_toolchain \
26 --build=$bootstrap_build_gnu_triple \
27 --host=$bootstrap_build_gnu_triple \
28 --with-gmp=$bootstrap_target_cross_toolchain \
29 --enable-thread-safe \
30 --enable-shared-cache \
31 --disable-shared
32 unset CPP
33 unset CPPFLAGS
34 unset CFLAGS
35 unset CC
36
37 make -j $threads_n
38 make install
39 #cleanup
40 rm -f $bootstrap_target_cross_toolchain/lib/libmpfr.la
41 rm -Rf $bootstrap_target_cross_toolchain/lib/pkgconfig
42 rm -Rf $bootstrap_target_cross_toolchain/share
43
44 rm -f $pkgs_dir_root/$archive_name
45 rm -Rf $src_dir $build_dir
File builders/bootstrap/gcc/bswap16.patch added (mode: 100644) (index 0000000..4c1d958)
1 --- c-family/c-common.c (revision 186176)
2 +++ c-family/c-common.c (working copy)
3 @@ -4991,7 +4991,7 @@ c_common_nodes_and_builtins (void)
4 uint8_type_node =
5 TREE_TYPE (identifier_global_value (c_get_ident (UINT8_TYPE)));
6 if (UINT16_TYPE)
7 - uint16_type_node =
8 + c_uint16_type_node =
9 TREE_TYPE (identifier_global_value (c_get_ident (UINT16_TYPE)));
10 if (UINT32_TYPE)
11 c_uint32_type_node =
12 --- c-family/c-common.h (revision 186176)
13 +++ c-family/c-common.h (working copy)
14 @@ -390,7 +390,7 @@ extern const unsigned int num_c_common_r
15 #define int32_type_node c_global_trees[CTI_INT32_TYPE]
16 #define int64_type_node c_global_trees[CTI_INT64_TYPE]
17 #define uint8_type_node c_global_trees[CTI_UINT8_TYPE]
18 -#define uint16_type_node c_global_trees[CTI_UINT16_TYPE]
19 +#define c_uint16_type_node c_global_trees[CTI_UINT16_TYPE]
20 #define c_uint32_type_node c_global_trees[CTI_UINT32_TYPE]
21 #define c_uint64_type_node c_global_trees[CTI_UINT64_TYPE]
22 #define int_least8_type_node c_global_trees[CTI_INT_LEAST8_TYPE]
23 --- c-family/c-cppbuiltin.c (revision 186176)
24 +++ c-family/c-cppbuiltin.c (working copy)
25 @@ -448,8 +448,8 @@ builtin_define_stdint_macros (void)
26 builtin_define_type_max ("__INT64_MAX__", int64_type_node);
27 if (uint8_type_node)
28 builtin_define_type_max ("__UINT8_MAX__", uint8_type_node);
29 - if (uint16_type_node)
30 - builtin_define_type_max ("__UINT16_MAX__", uint16_type_node);
31 + if (c_uint16_type_node)
32 + builtin_define_type_max ("__UINT16_MAX__", c_uint16_type_node);
33 if (c_uint32_type_node)
34 builtin_define_type_max ("__UINT32_MAX__", c_uint32_type_node);
35 if (c_uint64_type_node)
36 --- optabs.c (revision 186176)
37 +++ optabs.c (working copy)
38 @@ -3030,6 +3030,47 @@ expand_unop (enum machine_mode mode, opt
39 /* Widening (or narrowing) bswap needs special treatment. */
40 if (unoptab == bswap_optab)
41 {
42 + /* HImode is special because in this mode BSWAP is equivalent to ROTATE
43 + or ROTATERT. First try these directly; if this fails, then try the
44 + obvious pair of shifts with allowed widening, as this will probably
45 + be always more efficient than the other fallback methods. */
46 + if (mode == HImode)
47 + {
48 + rtx last, temp1, temp2;
49 +
50 + if (optab_handler (rotl_optab, mode) != CODE_FOR_nothing)
51 + {
52 + temp = expand_binop (mode, rotl_optab, op0, GEN_INT (8), target,
53 + unsignedp, OPTAB_DIRECT);
54 + if (temp)
55 + return temp;
56 + }
57 +
58 + if (optab_handler (rotr_optab, mode) != CODE_FOR_nothing)
59 + {
60 + temp = expand_binop (mode, rotr_optab, op0, GEN_INT (8), target,
61 + unsignedp, OPTAB_DIRECT);
62 + if (temp)
63 + return temp;
64 + }
65 +
66 + last = get_last_insn ();
67 +
68 + temp1 = expand_binop (mode, ashl_optab, op0, GEN_INT (8), NULL_RTX,
69 + unsignedp, OPTAB_WIDEN);
70 + temp2 = expand_binop (mode, lshr_optab, op0, GEN_INT (8), NULL_RTX,
71 + unsignedp, OPTAB_WIDEN);
72 + if (temp1 && temp2)
73 + {
74 + temp = expand_binop (mode, ior_optab, temp1, temp2, target,
75 + unsignedp, OPTAB_WIDEN);
76 + if (temp)
77 + return temp;
78 + }
79 +
80 + delete_insns_since (last);
81 + }
82 +
83 temp = widen_bswap (mode, op0, target);
84 if (temp)
85 return temp;
86 @@ -3222,10 +3263,10 @@ expand_unop (enum machine_mode mode, opt
87 /* For certain operations, we need not actually extend
88 the narrow operand, as long as we will truncate the
89 results to the same narrowness. */
90 -
91 xop0 = widen_operand (xop0, wider_mode, mode, unsignedp,
92 (unoptab == neg_optab
93 - || unoptab == one_cmpl_optab)
94 + || unoptab == one_cmpl_optab
95 + || unoptab == bswap_optab)
96 && mclass == MODE_INT);
97
98 temp = expand_unop (wider_mode, unoptab, xop0, NULL_RTX,
99 @@ -3240,6 +3281,20 @@ expand_unop (enum machine_mode mode, opt
100 - GET_MODE_PRECISION (mode)),
101 target, true, OPTAB_DIRECT);
102
103 + /* Likewise for bswap. */
104 + if (unoptab == bswap_optab && temp != 0)
105 + {
106 + gcc_assert (GET_MODE_PRECISION (wider_mode)
107 + == GET_MODE_BITSIZE (wider_mode)
108 + && GET_MODE_PRECISION (mode)
109 + == GET_MODE_BITSIZE (mode));
110 +
111 + temp = expand_shift (RSHIFT_EXPR, wider_mode, temp,
112 + GET_MODE_BITSIZE (wider_mode)
113 + - GET_MODE_BITSIZE (mode),
114 + NULL_RTX, true);
115 + }
116 +
117 if (temp)
118 {
119 if (mclass != MODE_INT)
120 --- tree.c (revision 186176)
121 +++ tree.c (working copy)
122 @@ -9388,6 +9388,7 @@ build_common_tree_nodes (bool signed_cha
123 integer_ptr_type_node = build_pointer_type (integer_type_node);
124
125 /* Fixed size integer types. */
126 + uint16_type_node = build_nonstandard_integer_type (16, true);
127 uint32_type_node = build_nonstandard_integer_type (32, true);
128 uint64_type_node = build_nonstandard_integer_type (64, true);
129
130 --- tree.h (revision 186176)
131 +++ tree.h (working copy)
132 @@ -3747,6 +3747,7 @@ enum tree_index
133 TI_UINTDI_TYPE,
134 TI_UINTTI_TYPE,
135
136 + TI_UINT16_TYPE,
137 TI_UINT32_TYPE,
138 TI_UINT64_TYPE,
139
140 @@ -3902,6 +3903,7 @@ extern GTY(()) tree global_trees[TI_MAX]
141 #define unsigned_intDI_type_node global_trees[TI_UINTDI_TYPE]
142 #define unsigned_intTI_type_node global_trees[TI_UINTTI_TYPE]
143
144 +#define uint16_type_node global_trees[TI_UINT16_TYPE]
145 #define uint32_type_node global_trees[TI_UINT32_TYPE]
146 #define uint64_type_node global_trees[TI_UINT64_TYPE]
147
148 --- builtins.c (revision 186176)
149 +++ builtins.c (working copy)
150 @@ -4626,13 +4626,15 @@ expand_builtin_alloca (tree exp, bool ca
151 return result;
152 }
153
154 -/* Expand a call to a bswap builtin with argument ARG0. MODE
155 - is the mode to expand with. */
156 +/* Expand a call to bswap builtin in EXP.
157 + Return NULL_RTX if a normal call should be emitted rather than expanding the
158 + function in-line. If convenient, the result should be placed in TARGET.
159 + SUBTARGET may be used as the target for computing one of EXP's operands. */
160
161 static rtx
162 -expand_builtin_bswap (tree exp, rtx target, rtx subtarget)
163 +expand_builtin_bswap (enum machine_mode target_mode, tree exp, rtx target,
164 + rtx subtarget)
165 {
166 - enum machine_mode mode;
167 tree arg;
168 rtx op0;
169
170 @@ -4640,14 +4642,18 @@ expand_builtin_bswap (tree exp, rtx targ
171 return NULL_RTX;
172
173 arg = CALL_EXPR_ARG (exp, 0);
174 - mode = TYPE_MODE (TREE_TYPE (arg));
175 - op0 = expand_expr (arg, subtarget, VOIDmode, EXPAND_NORMAL);
176 + op0 = expand_expr (arg,
177 + subtarget && GET_MODE (subtarget) == target_mode
178 + ? subtarget : NULL_RTX,
179 + target_mode, EXPAND_NORMAL);
180 + if (GET_MODE (op0) != target_mode)
181 + op0 = convert_to_mode (target_mode, op0, 1);
182
183 - target = expand_unop (mode, bswap_optab, op0, target, 1);
184 + target = expand_unop (target_mode, bswap_optab, op0, target, 1);
185
186 gcc_assert (target);
187
188 - return convert_to_mode (mode, target, 0);
189 + return convert_to_mode (target_mode, target, 1);
190 }
191
192 /* Expand a call to a unary builtin in EXP.
193 @@ -6077,10 +6083,10 @@ expand_builtin (tree exp, rtx target, rt
194 expand_stack_restore (CALL_EXPR_ARG (exp, 0));
195 return const0_rtx;
196
197 + case BUILT_IN_BSWAP16:
198 case BUILT_IN_BSWAP32:
199 case BUILT_IN_BSWAP64:
200 - target = expand_builtin_bswap (exp, target, subtarget);
201 -
202 + target = expand_builtin_bswap (target_mode, exp, target, subtarget);
203 if (target)
204 return target;
205 break;
206 --- builtin-types.def (revision 186176)
207 +++ builtin-types.def (working copy)
208 @@ -76,6 +76,7 @@ DEF_PRIMITIVE_TYPE (BT_INT128, int128_in
209 DEF_PRIMITIVE_TYPE (BT_UINT128, int128_unsigned_type_node)
210 DEF_PRIMITIVE_TYPE (BT_INTMAX, intmax_type_node)
211 DEF_PRIMITIVE_TYPE (BT_UINTMAX, uintmax_type_node)
212 +DEF_PRIMITIVE_TYPE (BT_UINT16, uint16_type_node)
213 DEF_PRIMITIVE_TYPE (BT_UINT32, uint32_type_node)
214 DEF_PRIMITIVE_TYPE (BT_UINT64, uint64_type_node)
215 DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
216 @@ -226,6 +227,7 @@ DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR,
217 DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
218 DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
219 DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
220 +DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
221 DEF_FUNCTION_TYPE_1 (BT_FN_UINT32_UINT32, BT_UINT32, BT_UINT32)
222 DEF_FUNCTION_TYPE_1 (BT_FN_UINT64_UINT64, BT_UINT64, BT_UINT64)
223
224 --- builtins.def (revision 186176)
225 +++ builtins.def (working copy)
226 @@ -628,6 +628,7 @@ DEF_GCC_BUILTIN (BUILT_IN_AGGREGA
227 DEF_EXT_LIB_BUILTIN (BUILT_IN_ALLOCA, "alloca", BT_FN_PTR_SIZE, ATTR_MALLOC_NOTHROW_LEAF_LIST)
228 DEF_GCC_BUILTIN (BUILT_IN_APPLY, "apply", BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE, ATTR_NULL)
229 DEF_GCC_BUILTIN (BUILT_IN_APPLY_ARGS, "apply_args", BT_FN_PTR_VAR, ATTR_LEAF_LIST)
230 +DEF_GCC_BUILTIN (BUILT_IN_BSWAP16, "bswap16", BT_FN_UINT16_UINT16, ATTR_CONST_NOTHROW_LEAF_LIST)
231 DEF_GCC_BUILTIN (BUILT_IN_BSWAP32, "bswap32", BT_FN_UINT32_UINT32, ATTR_CONST_NOTHROW_LEAF_LIST)
232 DEF_GCC_BUILTIN (BUILT_IN_BSWAP64, "bswap64", BT_FN_UINT64_UINT64, ATTR_CONST_NOTHROW_LEAF_LIST)
233 DEF_EXT_LIB_BUILTIN (BUILT_IN_CLEAR_CACHE, "__clear_cache", BT_FN_VOID_PTR_PTR, ATTR_NOTHROW_LEAF_LIST)
File builders/bootstrap/gcc/builder.sh added (mode: 100644) (index 0000000..4047c01)
1 . $nyan_root/conf.bootstrap.sh
2
3 src_name=gcc
4 slot=0
5 #TODO: move to gcc "4.7.5"
6 version=4.7.4
7 archive_name=$src_name-$version.tar.bz2
8 url0=https://ftpmirror.gnu.org/$src_name/$src_name-$version/$archive_name
9
10 pkg_dir=$pkgs_dir_root/$src_name-$version
11 rm -Rf $pkg_dir
12 mkdir -p $pkgs_dir_root
13 cp -f $src_dir_root/$archive_name $pkgs_dir_root
14 cd $pkgs_dir_root
15 tar xf $archive_name
16 #-------------------------------------------------------------------------------
17 # copy a fixed version of gperf hash file, pending for a non-gperf alternative
18 cp -f $nyan_root/builders/bootstrap/$pkg_name/cfns.h $pkg_dir/gcc/cp
19 #-------------------------------------------------------------------------------
20 # patch a linux troublesome bug
21 # https://gcc.gnu.org/bugzilla/attachment.cgi?id=30653
22 cp -f $nyan_root/builders/bootstrap/$pkg_name/tree-sra.c.patch $pkg_dir/gcc
23 cd $pkg_dir/gcc
24 patch -p0 -N -i ./tree-sra.c.patch
25 #-------------------------------------------------------------------------------
26 # add the missing bswap16
27 # https://gcc.gnu.org/legacy-ml/gcc-patches/2012-04/msg00452.html
28 cp -f $nyan_root/builders/bootstrap/$pkg_name/bswap16.patch $pkg_dir/gcc
29 patch -p0 -i ./bswap16.patch
30 #-------------------------------------------------------------------------------
31
32 PATH_SAVED=$PATH
33 export PATH=$bootstrap_target_cross_toolchain/bin:$PATH
34
35 build_dir=$builds_dir_root/$pkg_name-$version-$bootstrap_target_gnu_triple
36 rm -Rf $build_dir
37 mkdir -p $build_dir
38
39 cd $build_dir
40 export "CFLAGS_FOR_BUILD=$bootstrap_build_cflags"
41 export "CPPFLAGS=\
42 -I$bootstrap_target_sysroot/nyan/zlib/current/include \
43 -isystem $bootstrap_target_sysroot/nyan/glibc/current/include \
44 -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include"
45 export "CFLAGS=-O2 -pipe -fPIC"
46 # missing pthread for mpfr
47 export "LDFLAGS=-B$bootstrap_target_sysroot/nyan/glibc/current/lib \
48 -L$bootstrap_target_sysroot/nyan/glibc/current/lib \
49 -lpthread \
50 -L$bootstrap_target_sysroot/nyan/zlib/current/lib \
51 -L$bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-$src_name-$version/$slot/lib \
52 -Wl,-s"
53 export "CC_FOR_BUILD=$bootstrap_build_cc $bootstrap_build_cppflags $bootstrap_build_ccld_flags"
54 export "AR_FOR_BUILD=$bootstrap_build_ar"
55 export "RANLIB_FOR_BUILD=$bootstrap_build_ranlib"
56 export "CPP=$bootstrap_target_gnu_triple-cpp $CPPFLAGS"
57 export "CC=$bootstrap_target_gnu_triple-gcc $CPPFLAGS $LDFLAGS -static-libgcc"
58 export "CXX=none_please"
59 # native system header dir is relative to sysroot
60 mkdir $build_dir/gcc
61 # only way to pass a proper cxxcpp down to gcc subdir
62 printf "ac_cv_prog_CXXCPP=\"$bootstrap_target_gnu_triple-cpp $CPPFLAGS\"" >$build_dir/gcc/config.cache
63 # to use the right build system compiler, and use the right build system c++
64 # preprocessor (actually useless) passed down the only way we found working...
65 # jez... this sdk needs to be flatten and re-orthogonalized.
66 sed -r \
67 -e "11428 i\\
68 \tprintf \"ac_cv_prog_CXXCPP=\\\\\"$bootstrap_build_cpp\\\\\"\">\$tempdir/config.cache" \
69 -e "11437 i\\
70 \t\t--cache-file=./config.cache \\\\" \
71 -e "11931 i\\
72 CC_FOR_BUILD='$CC_FOR_BUILD'" -i $pkg_dir/gcc/configure
73
74 $pkg_dir/configure \
75 --prefix=/nyan/toolchains/binutils-2.36.1-$src_name-$version/$slot \
76 \
77 --build=$bootstrap_build_gnu_triple \
78 --host=$bootstrap_target_gnu_triple \
79 --target=$bootstrap_target_gnu_triple \
80 \
81 --enable-decimal-float=no \
82 --enable-threads=posix \
83 --enable-tls \
84 --enable-shared \
85 --enable-languages=c,c++ \
86 --disable-rpath \
87 --enable-version-specific-runtime-libs \
88 --disable-plugin \
89 --disable-libquadmath-support \
90 --with-sysroot=$bootstrap_target_sysroot \
91 --with-native-system-header-dir=/nyan/glibc/current/include \
92 --with-gmp=$bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot \
93 --with-mpfr=$bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot \
94 --with-mpc=$bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot \
95 --disable-libquadmath \
96 --disable-libada \
97 --disable-libssp \
98 --disable-bootstrap \
99 --disable-lto \
100 --disable-nls \
101 --with-system-zlib
102 unset CFLAGS_FOR_BUILD
103 unset CPPFLAGS
104 unset CFLAGS
105 unset LDFLAGS
106 unset CC_FOR_BUILD
107 unset AR_FOR_BUILD
108 unset RANLIB_FOR_BUILD
109 unset CPP
110 unset CC
111 unset CXX
112 make -j $threads_n all-gcc
113 make install-gcc DESTDIR=$bootstrap_target_sysroot
114
115 ln -sTf $slot $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-$src_name-$version/current
116
117 #===============================================================================
118 # link the already cross-compiled "libgcc"
119 cd $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-$src_name-$version/current/lib/gcc/$bootstrap_target_gnu_triple/$version
120 ln -sTf /nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple/lib/gcc/$bootstrap_target_gnu_triple/$version/crtbegin.o crtbegin.o
121 ln -sTf /nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple/lib/gcc/$bootstrap_target_gnu_triple/$version/crtbeginS.o crtbeginS.o
122 ln -sTf /nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple/lib/gcc/$bootstrap_target_gnu_triple/$version/crtbeginT.o crtbeginT.o
123 ln -sTf /nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple/lib/gcc/$bootstrap_target_gnu_triple/$version/crtend.o crtend.o
124 ln -sTf /nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple/lib/gcc/$bootstrap_target_gnu_triple/$version/crtendS.o crtendS.o
125 ln -sTf /nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple/lib/gcc/$bootstrap_target_gnu_triple/$version/crtfastmath.o crtfastmath.o
126 ln -sTf /nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple/lib/gcc/$bootstrap_target_gnu_triple/$version/crtprec32.o crtprec32.o
127 ln -sTf /nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple/lib/gcc/$bootstrap_target_gnu_triple/$version/crtprec64.o crtprec64.o
128 ln -sTf /nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple/lib/gcc/$bootstrap_target_gnu_triple/$version/crtprec80.o crtprec80.o
129 ln -sTf /nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple/lib/gcc/$bootstrap_target_gnu_triple/$version/libgcc.a libgcc.a
130 ln -sTf /nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple/lib/gcc/$bootstrap_target_gnu_triple/$version/libgcc_eh.a libgcc_eh.a
131 ln -sTf /nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple/lib/gcc/$bootstrap_target_gnu_triple/$version/libgcov.a libgcov.a
132
133 ln -sTf /nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple/lib/gcc/$bootstrap_target_gnu_triple/$version/include/unwind.h ./include/unwind.h
134 #===============================================================================
135 rm -f $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-$src_name-$version/current/bin/c++
136 rm -f $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-$src_name-$version/current/bin/cpp
137 rm -f $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-$src_name-$version/current/bin/g++
138 rm -f $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-$src_name-$version/current/bin/gcc
139 rm -f $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-$src_name-$version/current/bin/gcc-ar
140 rm -f $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-$src_name-$version/current/bin/gcc-nm
141 rm -f $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-$src_name-$version/current/bin/gcc-ranlib
142 mv -f $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-$src_name-$version/current/bin/gcov $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-$src_name-$version/current/bin/$bootstrap_target_gnu_triple-gcov
143
144 export PATH=$PATH_SAVED
145
146 rm -f $pkgs_dir_root/$archive_name
147 rm -Rf $pkg_dir $build_dir
File builders/bootstrap/gcc/cfns.h added (mode: 100644) (index 0000000..04748d6)
1 /* ANSI-C code produced by gperf version 3.0.3 */
2 /* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf */
3
4 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
5 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
6 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
7 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
8 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
9 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
10 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
11 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
12 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
13 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
14 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
15 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
16 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
17 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
18 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
19 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
20 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
21 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
22 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
23 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
24 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
25 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
26 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
27 /* The character set is not based on ISO-646. */
28 #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
29 #endif
30
31 #line 1 "cfns.gperf"
32
33 /* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
34
35 This file is part of GCC.
36
37 GCC is free software; you can redistribute it and/or modify it under
38 the terms of the GNU General Public License as published by the Free
39 Software Foundation; either version 3, or (at your option) any later
40 version.
41
42 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
43 WARRANTY; without even the implied warranty of MERCHANTABILITY or
44 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
45 for more details.
46
47 You should have received a copy of the GNU General Public License
48 along with GCC; see the file COPYING3. If not see
49 <http://www.gnu.org/licenses/>. */
50 #ifdef __GNUC__
51 __inline
52 #ifdef __GNUC_STDC_INLINE__
53 __attribute__ ((__gnu_inline__))
54 #endif
55 #endif
56 static unsigned int hash (const char *, unsigned int);
57 #ifdef __GNUC__
58 __inline
59 #ifdef __GNUC_STDC_INLINE__
60 __attribute__ ((__gnu_inline__))
61 #endif
62 #endif
63 const char * libc_name_p (const char *, unsigned int);
64 /* maximum key range = 391, duplicates = 0 */
65
66 #ifdef __GNUC__
67 __inline
68 #ifdef __GNUC_STDC_INLINE__
69 __attribute__ ((__gnu_inline__))
70 #endif
71 #else
72 #ifdef __cplusplus
73 inline
74 #endif
75 #endif
76 static unsigned int
77 hash (register const char *str, register unsigned int len)
78 {
79 static const unsigned short asso_values[] =
80 {
81 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
82 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
83 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
84 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
85 400, 400, 400, 400, 400, 400, 400, 400, 0, 0,
86 1, 400, 400, 400, 400, 400, 400, 400, 400, 400,
87 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
88 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
89 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
90 400, 400, 400, 400, 400, 400, 400, 28, 90, 0,
91 95, 0, 51, 93, 114, 26, 109, 124, 5, 1,
92 6, 13, 37, 128, 3, 0, 0, 49, 38, 0,
93 104, 45, 0, 400, 400, 400, 400, 400, 400, 400,
94 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
95 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
96 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
97 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
98 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
99 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
100 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
101 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
102 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
103 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
104 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
105 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
106 400, 400, 400, 400, 400, 400, 400
107 };
108 register int hval = len;
109
110 switch (hval)
111 {
112 default:
113 hval += asso_values[(unsigned char)str[5]+1];
114 /*FALLTHROUGH*/
115 case 5:
116 hval += asso_values[(unsigned char)str[4]];
117 /*FALLTHROUGH*/
118 case 4:
119 hval += asso_values[(unsigned char)str[3]];
120 /*FALLTHROUGH*/
121 case 3:
122 hval += asso_values[(unsigned char)str[2]];
123 /*FALLTHROUGH*/
124 case 2:
125 hval += asso_values[(unsigned char)str[1]];
126 /*FALLTHROUGH*/
127 case 1:
128 hval += asso_values[(unsigned char)str[0]];
129 break;
130 }
131 return hval + asso_values[(unsigned char)str[len - 1]];
132 }
133
134 #ifdef __GNUC__
135 __inline
136 #ifdef __GNUC_STDC_INLINE__
137 __attribute__ ((__gnu_inline__))
138 #endif
139 #endif
140 const char *
141 libc_name_p (register const char *str, register unsigned int len)
142 {
143 enum
144 {
145 TOTAL_KEYWORDS = 156,
146 MIN_WORD_LENGTH = 3,
147 MAX_WORD_LENGTH = 10,
148 MIN_HASH_VALUE = 9,
149 MAX_HASH_VALUE = 399
150 };
151
152 static const char * const wordlist[] =
153 {
154 "wcsstr",
155 "strstr",
156 "cos",
157 "towctrans",
158 "memmove",
159 "wcstol",
160 "wcscoll",
161 "wcstombs",
162 "strtol",
163 "strcoll",
164 "wcslen",
165 "time",
166 "ctime",
167 "strlen",
168 "iswctype",
169 "wmemchr",
170 "wcsrchr",
171 "ceil",
172 "sin",
173 "strrchr",
174 "tan",
175 "iscntrl",
176 "acos",
177 "wmemmove",
178 "wcsrtombs",
179 "wctrans",
180 "wmemcmp",
181 "pow",
182 "atol",
183 "wcsncmp",
184 "memset",
185 "free",
186 "strncmp",
187 "wmemset",
188 "wcsspn",
189 "wcstoul",
190 "strspn",
191 "strtoul",
192 "asctime",
193 "atan2",
194 "asin",
195 "atan",
196 "ferror",
197 "iswalnum",
198 "wcscat",
199 "realloc",
200 "strcat",
201 "wcscpy",
202 "memcpy",
203 "strcpy",
204 "tolower",
205 "floor",
206 "iswcntrl",
207 "atoi",
208 "clearerr",
209 "swscanf",
210 "wcsncat",
211 "islower",
212 "strncat",
213 "btowc",
214 "localtime",
215 "wctomb",
216 "isalnum",
217 "isprint",
218 "mblen",
219 "wcstod",
220 "log10",
221 "strtod",
222 "wcrtomb",
223 "abs",
224 "setlocale",
225 "wcschr",
226 "mbrlen",
227 "memchr",
228 "strchr",
229 "labs",
230 "iswpunct",
231 "exit",
232 "sqrt",
233 "swprintf",
234 "wctype",
235 "mbsrtowcs",
236 "wcscspn",
237 "getenv",
238 "strcspn",
239 "towlower",
240 "atof",
241 "wcstok",
242 "localeconv",
243 "strtok",
244 "calloc",
245 "malloc",
246 "isalpha",
247 "iswlower",
248 "iswspace",
249 "wcsxfrm",
250 "signal",
251 "strxfrm",
252 "wcsftime",
253 "feof",
254 "strftime",
255 "wcscmp",
256 "fabs",
257 "memcmp",
258 "strcmp",
259 "vsprintf",
260 "fwide",
261 "gmtime",
262 "sprintf",
263 "exp",
264 "wmemcpy",
265 "iswprint",
266 "sscanf",
267 "wcsncpy",
268 "strncpy",
269 "isspace",
270 "toupper",
271 "wctob",
272 "div",
273 "mbtowc",
274 "ldiv",
275 "log",
276 "mktime",
277 "isupper",
278 "atexit",
279 "modf",
280 "mbstowcs",
281 "mbrtowc",
282 "ispunct",
283 "iswalpha",
284 "setvbuf",
285 "rand",
286 "srand",
287 "frexp",
288 "towupper",
289 "mbsinit",
290 "cosh",
291 "vswprintf",
292 "iswupper",
293 "wcspbrk",
294 "fmod",
295 "strpbrk",
296 "sinh",
297 "tanh",
298 "iswdigit",
299 "clock",
300 "longjmp",
301 "ldexp",
302 "setbuf",
303 "fseek",
304 "iswgraph",
305 "difftime",
306 "iswxdigit",
307 "isdigit",
308 "isxdigit",
309 "isgraph"
310 };
311
312 static const short lookup[] =
313 {
314 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
315 -1, -1, 1, -1, -1, -1, 2, -1, -1, -1,
316 -1, -1, 3, 4, -1, 5, 6, 7, 8, 9,
317 10, 11, 12, 13, 14, -1, -1, -1, 15, 16,
318 17, 18, 19, 20, 21, 22, -1, -1, 23, 24,
319 -1, 25, 26, 27, -1, 28, 29, 30, 31, 32,
320 33, -1, 34, 35, -1, 36, 37, 38, -1, 39,
321 40, -1, 41, -1, -1, -1, -1, -1, -1, 42,
322 -1, 43, -1, 44, -1, 45, 46, -1, 47, -1,
323 48, 49, 50, 51, 52, -1, -1, 53, 54, 55,
324 -1, -1, -1, 56, -1, 57, 58, -1, 59, 60,
325 61, 62, 63, 64, 65, -1, 66, 67, -1, 68,
326 -1, 69, 70, 71, 72, 73, 74, 75, -1, -1,
327 -1, -1, -1, 76, 77, 78, -1, -1, 79, 80,
328 81, 82, -1, 83, 84, -1, 85, 86, 87, -1,
329 88, 89, 90, 91, -1, -1, -1, 92, -1, 93,
330 -1, 94, -1, 95, -1, 96, 97, -1, 98, -1,
331 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
332 -1, 109, 110, 111, 112, -1, 113, -1, -1, 114,
333 -1, -1, -1, 115, -1, -1, -1, 116, 117, -1,
334 118, -1, -1, -1, -1, 119, 120, 121, -1, 122,
335 123, -1, -1, 124, -1, 125, 126, -1, 127, -1,
336 128, -1, -1, 129, 130, -1, -1, -1, -1, -1,
337 -1, 131, 132, -1, -1, -1, -1, 133, 134, 135,
338 -1, -1, -1, -1, -1, 136, -1, 137, -1, -1,
339 -1, 138, -1, -1, -1, -1, -1, -1, 139, 140,
340 -1, 141, -1, -1, 142, -1, 143, -1, -1, 144,
341 -1, 145, -1, -1, -1, -1, 146, -1, -1, -1,
342 -1, -1, -1, 147, -1, -1, -1, -1, -1, 148,
343 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
344 -1, -1, -1, -1, 149, -1, -1, -1, -1, -1,
345 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
346 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
347 -1, -1, -1, -1, 150, -1, -1, -1, -1, -1,
348 151, -1, -1, 152, -1, -1, -1, -1, -1, -1,
349 -1, -1, -1, -1, -1, -1, 153, -1, -1, -1,
350 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
351 -1, -1, -1, 154, -1, -1, -1, -1, -1, -1,
352 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
353 -1, -1, -1, -1, -1, -1, -1, -1, -1, 155
354 };
355
356 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
357 {
358 register int key = hash (str, len);
359
360 if (key <= MAX_HASH_VALUE && key >= 0)
361 {
362 register int index = lookup[key];
363
364 if (index >= 0)
365 {
366 register const char *s = wordlist[index];
367
368 if (*str == *s && !strcmp (str + 1, s + 1))
369 return s;
370 }
371 }
372 }
373 return 0;
374 }
File builders/bootstrap/gcc/tree-sra.c.patch added (mode: 100644) (index 0000000..c298a1b)
1 --- tree-sra.c
2 +++ tree-sra.c
3 @@ -1480,9 +1480,11 @@
4 {
5 tree prev_base = base;
6 tree off;
7 + tree mem_ref;
8 HOST_WIDE_INT base_offset;
9 unsigned HOST_WIDE_INT misalign;
10 unsigned int align;
11 + bool is_volatile = TREE_THIS_VOLATILE (TREE_TYPE (base));
12
13 gcc_checking_assert (offset % BITS_PER_UNIT == 0);
14
15 @@ -1547,7 +1549,14 @@
16 if (align < TYPE_ALIGN (exp_type))
17 exp_type = build_aligned_type (exp_type, align);
18
19 - return fold_build2_loc (loc, MEM_REF, exp_type, base, off);
20 + if (is_volatile && !TREE_THIS_VOLATILE (exp_type))
21 + exp_type = build_qualified_type (exp_type, TYPE_QUALS (exp_type)
22 + | TYPE_QUAL_VOLATILE);
23 +
24 + mem_ref = fold_build2_loc (loc, MEM_REF, exp_type, base, off);
25 + if (TREE_THIS_VOLATILE (exp_type))
26 + TREE_THIS_VOLATILE (mem_ref) = 1;
27 + return mem_ref;
28 }
29
30 DEF_VEC_ALLOC_P_STACK (tree);
File builders/bootstrap/gmp/builder.sh added (mode: 100644) (index 0000000..3de6cdf)
1 . $nyan_root/conf.bootstrap.sh
2
3 src_name=gmp
4 slot=0
5 version=6.2.0
6 archive_name=gmp-$version.tar.xz
7 url0=https://gmplib.org/download/gmp/$archive_name
8
9 pkg_dir=$pkgs_dir_root/$src_name-$version
10 rm -Rf $pkg_dir
11 mkdir -p $pkgs_dir_root
12 cp -f $src_dir_root/$archive_name $pkgs_dir_root
13 cd $pkgs_dir_root
14 tar xf $archive_name
15
16 build_dir=$builds_dir_root/$pkg_name-$version
17 rm -Rf $build_dir
18 mkdir -p $build_dir
19 cd $build_dir
20
21 PATH_SAVED=$PATH
22 export PATH=$PATH:$bootstrap_target_cross_toolchain/bin
23
24 # work out the right composition of flags to please the disgusting brain diareha
25 # which are meson/autotools/cmake/etc.
26 export "CPP=$bootstrap_target_gnu_triple-cpp"
27 export "CPPFLAGS=-isystem $bootstrap_target_sysroot/nyan/glibc/current/include -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include"
28 export "CFLAGS=-O2 -pipe -fPIC"
29 export "CC=$bootstrap_target_gnu_triple-gcc -B$bootstrap_target_sysroot/nyan/glibc/current/lib -L$bootstrap_target_sysroot/nyan/glibc/current/lib $CPPFLAGS"
30 $pkg_dir/configure \
31 --prefix=/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot \
32 --build=$bootstrap_build_gnu_triple \
33 --host=$bootstrap_target_gnu_triple \
34 --target=$bootstrap_target_gnu_triple \
35 --disable-alloca \
36 --disable-cxx \
37 --disable-shared
38 unset CPP
39 unset CPPFLAGS
40 unset CFLAGS
41 unset CC
42
43 make -j $threads_n
44 make install DESTDIR=$bootstrap_target_sysroot
45 #cleanup
46 rm -f $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot/lib/libgmp.la
47 rm -Rf $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot/lib/pkgconfig
48 rm -Rf $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot/share
49
50 export PATH=$PATH_SAVED
51
52 rm -f $pkgs_dir_root/$archive_name
53 rm -Rf $pkg_dir $build_dir
File builders/bootstrap/libgcc/builder.sh added (mode: 100644) (index 0000000..2b11966)
1 . $nyan_root/conf.bootstrap.sh
2
3 src_name=gcc
4 version=4.7.4
5 archive_name=$src_name-$version.tar.bz2
6 url0=https://ftpmirror.gnu.org/$src_name/$src_name-$version/$archive_name
7
8 src_dir=$pkgs_dir_root/$src_name-$version
9 build_dir=$builds_dir_root/$src_name-$version-$bootstrap_target_gnu_triple
10 if test ! -d $build_dir -o ! -d $src_dir; then
11 printf "\
12 ERROR:libgcc for the target system must re-use the directories from the cross \
13 gcc build\n"
14 exit 1
15 fi
16
17 # need to adapat the libgcc unwind code to latest glibc structs --> '_t' suffix
18 cp -f $nyan_root/builders/bootstrap/libgcc/linux-unwind.h $src_dir/libgcc/config/i386
19
20 build_dir_targetsystem=$build_dir/$bootstrap_target_gnu_triple
21 PATH_SAVED=$PATH
22 export PATH=$bootstrap_target_cross_toolchain/bin:$PATH
23
24 # BUILDSYSTEM = HOST != TARGET --> CROSS-COMPILER
25 echo "################################################################################"
26 echo "LIBGCC AND GCC INTERNAL OBJECTS TO RUN ON THE TARGET SYSTEM"
27 rm -Rf $build_dir_targetsystem/libgcc
28 mkdir -p $build_dir_targetsystem/libgcc
29 cd $build_dir_targetsystem/libgcc
30 export "CPP=$bootstrap_target_gnu_triple-cpp -isystem $bootstrap_target_sysroot/nyan/glibc/current/include -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include"
31 export "CC=$bootstrap_target_gnu_triple-gcc -isystem $bootstrap_target_sysroot/nyan/glibc/current/include -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include -B$bootstrap_target_sysroot/nyan/glibc/current/lib -L$bootstrap_target_sysroot/nyan/glibc/current/lib"
32 export "CFLAGS=-O2 -pipe -fPIC"
33 chmod +x $src_dir/libgcc/configure
34 $src_dir/libgcc/configure \
35 --prefix=$bootstrap_target_cross_toolchain \
36 \
37 --host=$bootstrap_target_gnu_triple \
38 \
39 --with-cross-host=$bootstrap_target_gnu_triple \
40 --with-slibdir=$bootstrap_target_sysroot/nyan/glibc/current/lib \
41 --disable-multilib
42 unset CPP
43 unset CC
44 unset CFLAGS
45 make -j $threads_n
46 make install
47 # we need to fix the install script which actually install the shared libgcc_s
48 # into lib64 even though we told it to install in lib
49 mv -f $bootstrap_target_sysroot/nyan/glibc/current/lib64/* $bootstrap_target_sysroot/nyan/glibc/current/lib
50 rm -Rf $bootstrap_target_sysroot/nyan/glibc/current/lib64
51 $bootstrap_target_gnu_triple-strip -s $bootstrap_target_sysroot/nyan/glibc/current/lib/libgcc_s.so.1
52 chmod 755 $bootstrap_target_sysroot/nyan/glibc/current/lib/libgcc_s.so.1
53 export PATH=$PATH_SAVED
54 # for gcc 4.7.4, we don't need libstdc++ tantrum (Yeah!)
55 rm -Rf $src_dir $build_dir
File builders/bootstrap/libgcc/linux-unwind.h added (mode: 100644) (index 0000000..9faacab)
1 /* DWARF2 EH unwinding support for AMD x86-64 and x86.
2 Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011, 2012
3 Free Software Foundation, Inc.
4
5 This file is part of GCC.
6
7 GCC is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
10 any later version.
11
12 GCC is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 Under Section 7 of GPL version 3, you are granted additional
18 permissions described in the GCC Runtime Library Exception, version
19 3.1, as published by the Free Software Foundation.
20
21 You should have received a copy of the GNU General Public License and
22 a copy of the GCC Runtime Library Exception along with this program;
23 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
24 <http://www.gnu.org/licenses/>. */
25
26 /* Do code reading to identify a signal frame, and set the frame
27 state data appropriately. See unwind-dw2.c for the structs.
28 Don't use this at all if inhibit_libc is used. */
29
30 #ifndef inhibit_libc
31
32 #ifdef __x86_64__
33
34 #include <signal.h>
35 #include <sys/ucontext.h>
36
37 #define MD_FALLBACK_FRAME_STATE_FOR x86_64_fallback_frame_state
38
39 static _Unwind_Reason_Code
40 x86_64_fallback_frame_state (struct _Unwind_Context *context,
41 _Unwind_FrameState *fs)
42 {
43 unsigned char *pc = context->ra;
44 struct sigcontext *sc;
45 long new_cfa;
46
47 /* movq $__NR_rt_sigreturn, %rax ; syscall. */
48 #ifdef __LP64__
49 #define RT_SIGRETURN_SYSCALL 0x050f0000000fc0c7ULL
50 #else
51 #define RT_SIGRETURN_SYSCALL 0x050f40000201c0c7ULL
52 #endif
53 if (*(unsigned char *)(pc+0) == 0x48
54 && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL)
55 {
56 struct ucontext_t *uc_ = context->cfa;
57 /* The void * cast is necessary to avoid an aliasing warning.
58 The aliasing warning is correct, but should not be a problem
59 because it does not alias anything. */
60 sc = (struct sigcontext *) (void *) &uc_->uc_mcontext;
61 }
62 else
63 return _URC_END_OF_STACK;
64
65 new_cfa = sc->rsp;
66 fs->regs.cfa_how = CFA_REG_OFFSET;
67 /* Register 7 is rsp */
68 fs->regs.cfa_reg = 7;
69 fs->regs.cfa_offset = new_cfa - (long) context->cfa;
70
71 /* The SVR4 register numbering macros aren't usable in libgcc. */
72 fs->regs.reg[0].how = REG_SAVED_OFFSET;
73 fs->regs.reg[0].loc.offset = (long)&sc->rax - new_cfa;
74 fs->regs.reg[1].how = REG_SAVED_OFFSET;
75 fs->regs.reg[1].loc.offset = (long)&sc->rdx - new_cfa;
76 fs->regs.reg[2].how = REG_SAVED_OFFSET;
77 fs->regs.reg[2].loc.offset = (long)&sc->rcx - new_cfa;
78 fs->regs.reg[3].how = REG_SAVED_OFFSET;
79 fs->regs.reg[3].loc.offset = (long)&sc->rbx - new_cfa;
80 fs->regs.reg[4].how = REG_SAVED_OFFSET;
81 fs->regs.reg[4].loc.offset = (long)&sc->rsi - new_cfa;
82 fs->regs.reg[5].how = REG_SAVED_OFFSET;
83 fs->regs.reg[5].loc.offset = (long)&sc->rdi - new_cfa;
84 fs->regs.reg[6].how = REG_SAVED_OFFSET;
85 fs->regs.reg[6].loc.offset = (long)&sc->rbp - new_cfa;
86 fs->regs.reg[8].how = REG_SAVED_OFFSET;
87 fs->regs.reg[8].loc.offset = (long)&sc->r8 - new_cfa;
88 fs->regs.reg[9].how = REG_SAVED_OFFSET;
89 fs->regs.reg[9].loc.offset = (long)&sc->r9 - new_cfa;
90 fs->regs.reg[10].how = REG_SAVED_OFFSET;
91 fs->regs.reg[10].loc.offset = (long)&sc->r10 - new_cfa;
92 fs->regs.reg[11].how = REG_SAVED_OFFSET;
93 fs->regs.reg[11].loc.offset = (long)&sc->r11 - new_cfa;
94 fs->regs.reg[12].how = REG_SAVED_OFFSET;
95 fs->regs.reg[12].loc.offset = (long)&sc->r12 - new_cfa;
96 fs->regs.reg[13].how = REG_SAVED_OFFSET;
97 fs->regs.reg[13].loc.offset = (long)&sc->r13 - new_cfa;
98 fs->regs.reg[14].how = REG_SAVED_OFFSET;
99 fs->regs.reg[14].loc.offset = (long)&sc->r14 - new_cfa;
100 fs->regs.reg[15].how = REG_SAVED_OFFSET;
101 fs->regs.reg[15].loc.offset = (long)&sc->r15 - new_cfa;
102 fs->regs.reg[16].how = REG_SAVED_OFFSET;
103 fs->regs.reg[16].loc.offset = (long)&sc->rip - new_cfa;
104 fs->retaddr_column = 16;
105 fs->signal_frame = 1;
106 return _URC_NO_REASON;
107 }
108
109 #else /* ifdef __x86_64__ */
110
111 /* There's no sys/ucontext.h for glibc 2.0, so no
112 signal-turned-exceptions for them. There's also no configure-run for
113 the target, so we can't check on (e.g.) HAVE_SYS_UCONTEXT_H. Using the
114 target libc version macro should be enough. */
115 #if defined __GLIBC__ && !(__GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
116
117 #include <signal.h>
118 #include <sys/ucontext.h>
119
120 #define MD_FALLBACK_FRAME_STATE_FOR x86_fallback_frame_state
121
122 static _Unwind_Reason_Code
123 x86_fallback_frame_state (struct _Unwind_Context *context,
124 _Unwind_FrameState *fs)
125 {
126 unsigned char *pc = context->ra;
127 struct sigcontext *sc;
128 long new_cfa;
129
130 /* popl %eax ; movl $__NR_sigreturn,%eax ; int $0x80 */
131 if (*(unsigned short *)(pc+0) == 0xb858
132 && *(unsigned int *)(pc+2) == 119
133 && *(unsigned short *)(pc+6) == 0x80cd)
134 sc = context->cfa + 4;
135 /* movl $__NR_rt_sigreturn,%eax ; int $0x80 */
136 else if (*(unsigned char *)(pc+0) == 0xb8
137 && *(unsigned int *)(pc+1) == 173
138 && *(unsigned short *)(pc+5) == 0x80cd)
139 {
140 struct rt_sigframe {
141 int sig;
142 siginfo_t *pinfo;
143 void *puc;
144 siginfo_t info;
145 struct ucontext_t uc;
146 } *rt_ = context->cfa;
147 /* The void * cast is necessary to avoid an aliasing warning.
148 The aliasing warning is correct, but should not be a problem
149 because it does not alias anything. */
150 sc = (struct sigcontext *) (void *) &rt_->uc.uc_mcontext;
151 }
152 else
153 return _URC_END_OF_STACK;
154
155 new_cfa = sc->esp;
156 fs->regs.cfa_how = CFA_REG_OFFSET;
157 fs->regs.cfa_reg = 4;
158 fs->regs.cfa_offset = new_cfa - (long) context->cfa;
159
160 /* The SVR4 register numbering macros aren't usable in libgcc. */
161 fs->regs.reg[0].how = REG_SAVED_OFFSET;
162 fs->regs.reg[0].loc.offset = (long)&sc->eax - new_cfa;
163 fs->regs.reg[3].how = REG_SAVED_OFFSET;
164 fs->regs.reg[3].loc.offset = (long)&sc->ebx - new_cfa;
165 fs->regs.reg[1].how = REG_SAVED_OFFSET;
166 fs->regs.reg[1].loc.offset = (long)&sc->ecx - new_cfa;
167 fs->regs.reg[2].how = REG_SAVED_OFFSET;
168 fs->regs.reg[2].loc.offset = (long)&sc->edx - new_cfa;
169 fs->regs.reg[6].how = REG_SAVED_OFFSET;
170 fs->regs.reg[6].loc.offset = (long)&sc->esi - new_cfa;
171 fs->regs.reg[7].how = REG_SAVED_OFFSET;
172 fs->regs.reg[7].loc.offset = (long)&sc->edi - new_cfa;
173 fs->regs.reg[5].how = REG_SAVED_OFFSET;
174 fs->regs.reg[5].loc.offset = (long)&sc->ebp - new_cfa;
175 fs->regs.reg[8].how = REG_SAVED_OFFSET;
176 fs->regs.reg[8].loc.offset = (long)&sc->eip - new_cfa;
177 fs->retaddr_column = 8;
178 fs->signal_frame = 1;
179 return _URC_NO_REASON;
180 }
181
182 #define MD_FROB_UPDATE_CONTEXT x86_frob_update_context
183
184 /* Fix up for kernels that have vDSO, but don't have S flag in it. */
185
186 static void
187 x86_frob_update_context (struct _Unwind_Context *context,
188 _Unwind_FrameState *fs ATTRIBUTE_UNUSED)
189 {
190 unsigned char *pc = context->ra;
191
192 /* movl $__NR_rt_sigreturn,%eax ; {int $0x80 | syscall} */
193 if (*(unsigned char *)(pc+0) == 0xb8
194 && *(unsigned int *)(pc+1) == 173
195 && (*(unsigned short *)(pc+5) == 0x80cd
196 || *(unsigned short *)(pc+5) == 0x050f))
197 _Unwind_SetSignalFrame (context, 1);
198 }
199
200 #endif /* not glibc 2.0 */
201 #endif /* ifdef __x86_64__ */
202 #endif /* ifdef inhibit_libc */
File builders/bootstrap/libstdc++/builder.sh added (mode: 100644) (index 0000000..4c5e513)
1 . $nyan_root/conf.bootstrap.sh
2
3 src_name=gcc
4 slot=0
5 #TODO: move to gcc "4.7.5"
6 version=4.7.4
7 archive_name=$src_name-$version.tar.bz2
8 url0=https://ftpmirror.gnu.org/$src_name/$src_name-$version/$archive_name
9
10 pkg_dir=$pkgs_dir_root/$src_name-$version
11 rm -Rf $pkg_dir
12 mkdir -p $pkgs_dir_root
13 cp -f $src_dir_root/$archive_name $pkgs_dir_root
14 cd $pkgs_dir_root
15 tar xf $archive_name
16
17 build_dir=$builds_dir_root/$src_name-$version-$bootstrap_target_gnu_triple
18 rm -Rf $build_dir
19 mkdir -p $build_dir
20
21 build_dir_targetsystem=$build_dir/$bootstrap_target_gnu_triple
22 PATH_SAVED=$PATH
23 export PATH=$bootstrap_target_cross_toolchain/bin:$PATH
24 #===============================================================================
25 # we must configure ourself the threading default from libgcc
26 mkdir -p $build_dir_targetsystem/libgcc
27 ln -sTf $pkg_dir/libgcc/gthr-posix.h \
28 $build_dir_targetsystem/libgcc/gthr-default.h
29 #===============================================================================
30 rm -Rf $build_dir_targetsystem/libstdc++-v3
31 mkdir -p $build_dir_targetsystem/libstdc++-v3
32 cd $build_dir_targetsystem/libstdc++-v3
33
34 cd $build_dir_targetsystem/libstdc++-v3
35 export "CFLAGS=-O2 -pipe -fPIC"
36 export "CPP=$bootstrap_target_gnu_triple-cpp \
37 -isystem $bootstrap_target_sysroot/nyan/glibc/current/include \
38 -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include"
39 export "CC=$bootstrap_target_gnu_triple-gcc \
40 -isystem $bootstrap_target_sysroot/nyan/glibc/current/include \
41 -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include \
42 -B$bootstrap_target_sysroot/nyan/glibc/current/lib \
43 -L$bootstrap_target_sysroot/nyan/glibc/current/lib -Wl,-s -static-libgcc"
44 export "CXXCPP=$CPP"
45 export "CXX=$bootstrap_target_gnu_triple-g++ \
46 -isystem $bootstrap_target_sysroot/nyan/glibc/current/include \
47 -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include \
48 -B$bootstrap_target_sysroot/nyan/glibc/current/lib \
49 -L$bootstrap_target_sysroot/nyan/glibc/current/lib -Wl,-s -static-libgcc"
50 $pkg_dir/libstdc++-v3/configure \
51 --prefix=/nyan/toolchains/binutils-2.36.1-$src_name-$version/$slot \
52 \
53 --build=$bootstrap_build_gnu_triple \
54 --host=$bootstrap_target_gnu_triple \
55 --target=$bootstrap_target_gnu_triple \
56 \
57 --disable-multilib \
58 --disable-nls \
59 --enable-linux-futex \
60 --enable-libstdcxx-threads \
61 --with-cross-host=$bootstrap_target_gnu_triple
62 unset CFLAGS
63 unset CPP
64 unset CC
65 unset CXXCPP
66 unset CXX
67 make -j $threads_n
68 make install DESTDIR=$bootstrap_target_sysroot
69
70 export PATH=$PATH_SAVED
71
72 rm -f $pkgs_dir_root/$archive_name
73 rm -Rf $pkg_dir $build_dir
File builders/bootstrap/linux-5.12.1/all.patch added (mode: 100644) (index 0000000..a596647)
1 diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile
2 index 8a94388e38b3..5ceaf13d164a 100644
3 --- a/drivers/firmware/efi/libstub/Makefile
4 +++ b/drivers/firmware/efi/libstub/Makefile
5 @@ -33,6 +33,7 @@ KBUILD_CFLAGS := $(cflags-y) -Os -DDISABLE_BRANCH_PROFILING \
6 -D__NO_FORTIFY \
7 -ffreestanding \
8 -fno-stack-protector \
9 + -maccumulate-outgoing-args \
10 $(call cc-option,-fno-addrsig) \
11 -D__DISABLE_EXPORTS
12
13 diff --git a/Makefile b/Makefile
14 index 78b0941f0de4..f816cb64c50c 100644
15 --- a/Makefile
16 +++ b/Makefile
17 @@ -960,7 +960,7 @@ KBUILD_CFLAGS += -fno-stack-check
18 KBUILD_CFLAGS += $(call cc-option,-fconserve-stack)
19
20 # Prohibit date/time macros, which would make the build non-deterministic
21 -KBUILD_CFLAGS += -Werror=date-time
22 +KBUILD_CFLAGS += $(call cc-option,-Werror=date-time)
23
24 # enforce correct pointer usage
25 KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
26 diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
27 index fe605205b4ce..842aabd48e4f 100644
28 --- a/arch/x86/boot/Makefile
29 +++ b/arch/x86/boot/Makefile
30 @@ -159,3 +159,218 @@ bzlilo:
31 install:
32 sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(obj)/bzImage \
33 System.map "$(INSTALL_PATH)"
34 +
35 +#-------------------------------------------------------------------------------
36 +# workaround kbuild limitations for C gcc 4.7.4 -- START
37 +#
38 +# XXX: actually, C code here should be moved to asm (asm output from gcc, made
39 +# human readable), and that for good. Additionnally the assembler should be
40 +# run directly and kbuild should check the .code16gcc directive/pseudo
41 +# instruction is supported.
42 +#
43 +# XXX: rightway(TM): clean x86 16bits asm code. x86 hardware running this still
44 +# exists? Since EFI handover to the OS is done in 64bits mode (AFAIK). Then,
45 +# should it be disabled on EFI systems?
46 +#
47 +ifeq ("$(CONFIG_GCC_VERSION)", "40704")
48 +cgcc_cmd_cc_s_c = $(filter-out -m16,$(cmd_cc_s_c))
49 +cgcc_cmd_cc_s_c += -m32
50 +
51 +cmd_cgcc_cpp_s_S = $(filter-out -m16 -march=i386,$(cmd_cpp_s_S))
52 +
53 +$(obj)/a20.part.s:$(src)/a20.c
54 + $(cgcc_cmd_cc_s_c)
55 +$(obj)/a20.s:$(obj)/a20.part.s
56 + printf '.code16gcc\n' >$@
57 + cat $< >>$@
58 +$(obj)/a20.o:$(obj)/a20.s
59 + $(X86_GAS) --32 -o $@ $<
60 +
61 +$(obj)/bioscall.part.s: $(src)/bioscall.S
62 + $(cmd_cgcc_cpp_s_S)
63 +$(obj)/bioscall.s:$(obj)/bioscall.part.s
64 + printf '.code16gcc\n' >$@
65 + cat $< >>$@
66 +$(obj)/bioscall.o: $(obj)/bioscall.s
67 + $(X86_GAS) --32 -o $@ $<
68 +
69 +$(obj)/cmdline.part.s:$(src)/cmdline.c
70 + $(cgcc_cmd_cc_s_c)
71 +$(obj)/cmdline.s:$(obj)/cmdline.part.s
72 + printf '.code16gcc\n' >$@
73 + cat $< >>$@
74 +$(obj)/cmdline.o:$(obj)/cmdline.s
75 + $(X86_GAS) --32 -o $@ $<
76 +
77 +$(obj)/copy.part.s:$(src)/copy.S
78 + $(cmd_cgcc_cpp_s_S)
79 +$(obj)/copy.s: $(obj)/copy.part.s
80 + printf '.code16gcc\n' >$@
81 + cat $< >>$@
82 +$(obj)/copy.o: $(obj)/copy.s
83 + $(X86_GAS) --32 -o $@ $<
84 +# we need to move cpustr.h prereq from the rule above on cpu.o to our
85 +# cpu.part.s
86 +$(obj)/cpu.part.s:$(src)/cpu.c $(obj)/cpustr.h
87 + $(cgcc_cmd_cc_s_c)
88 +$(obj)/cpu.s:$(obj)/cpu.part.s
89 + printf '.code16gcc\n' >$@
90 + cat $< >>$@
91 +$(obj)/cpu.o:$(obj)/cpu.s
92 + $(X86_GAS) --32 -o $@ $<
93 +
94 +$(obj)/cpuflags.part.s:$(src)/cpuflags.c
95 + $(cgcc_cmd_cc_s_c)
96 +$(obj)/cpuflags.s:$(obj)/cpuflags.part.s
97 + printf '.code16gcc\n' >$@
98 + cat $< >>$@
99 +$(obj)/cpuflags.o:$(obj)/cpuflags.s
100 + $(X86_GAS) --32 -o $@ $<
101 +
102 +$(obj)/cpucheck.part.s:$(src)/cpucheck.c
103 + $(cgcc_cmd_cc_s_c)
104 +$(obj)/cpucheck.s:$(obj)/cpucheck.part.s
105 + printf '.code16gcc\n' >$@
106 + cat $< >>$@
107 +$(obj)/cpucheck.o:$(obj)/cpucheck.s
108 + $(X86_GAS) --32 -o $@ $<
109 +
110 +$(obj)/early_serial_console.part.s:$(src)/early_serial_console.c
111 + $(cgcc_cmd_cc_s_c)
112 +$(obj)/early_serial_console.s:$(obj)/early_serial_console.part.s
113 + printf '.code16gcc\n' >$@
114 + cat $< >>$@
115 +$(obj)/early_serial_console.o:$(obj)/early_serial_console.s
116 + $(X86_GAS) --32 -o $@ $<
117 +
118 +$(obj)/edd.part.s:$(src)/edd.c
119 + $(cgcc_cmd_cc_s_c)
120 +$(obj)/edd.s:$(obj)/edd.part.s
121 + printf '.code16gcc\n' >$@
122 + cat $< >>$@
123 +$(obj)/edd.o:$(obj)/edd.s
124 + $(X86_GAS) --32 -o $@ $<
125 +# we need to move zoffset.h prereq from the rule above on header.o to our
126 +# header.part.s
127 +$(obj)/header.part.s:$(src)/header.S $(obj)/zoffset.h
128 + $(cmd_cgcc_cpp_s_S)
129 +$(obj)/header.s:$(obj)/header.part.s
130 + printf '.code16gcc\n' >$@
131 + cat $< >>$@
132 +$(obj)/header.o: $(obj)/header.s
133 + $(X86_GAS) --32 -o $@ $<
134 +
135 +$(obj)/main.part.s:$(src)/main.c
136 + $(cgcc_cmd_cc_s_c)
137 +$(obj)/main.s:$(obj)/main.part.s
138 + printf '.code16gcc\n' >$@
139 + cat $< >>$@
140 +$(obj)/main.o:$(obj)/main.s
141 + $(X86_GAS) --32 -o $@ $<
142 +
143 +$(obj)/memory.part.s:$(src)/memory.c
144 + $(cgcc_cmd_cc_s_c)
145 +$(obj)/memory.s:$(obj)/memory.part.s
146 + printf '.code16gcc\n' >$@
147 + cat $< >>$@
148 +$(obj)/memory.o:$(obj)/memory.s
149 + $(X86_GAS) --32 -o $@ $<
150 +
151 +$(obj)/pm.part.s:$(src)/pm.c
152 + $(cgcc_cmd_cc_s_c)
153 +$(obj)/pm.s:$(obj)/pm.part.s
154 + printf '.code16gcc\n' >$@
155 + cat $< >>$@
156 +$(obj)/pm.o:$(obj)/pm.s
157 + $(X86_GAS) --32 -o $@ $<
158 +
159 +$(obj)/pmjump.part.s: $(src)/pmjump.S
160 + $(cmd_cgcc_cpp_s_S)
161 +$(obj)/pmjump.s:$(obj)/pmjump.part.s
162 + printf '.code16gcc\n' >$@
163 + cat $< >>$@
164 +$(obj)/pmjump.o: $(obj)/pmjump.s
165 + $(X86_GAS) --32 -o $@ $<
166 +
167 +$(obj)/printf.part.s:$(src)/printf.c
168 + $(cgcc_cmd_cc_s_c)
169 +$(obj)/printf.s:$(obj)/printf.part.s
170 + printf '.code16gcc\n' >$@
171 + cat $< >>$@
172 +$(obj)/printf.o:$(obj)/printf.s
173 + $(X86_GAS) --32 -o $@ $<
174 +
175 +$(obj)/regs.part.s:$(src)/regs.c
176 + $(cgcc_cmd_cc_s_c)
177 +$(obj)/regs.s:$(obj)/regs.part.s
178 + printf '.code16gcc\n' >$@
179 + cat $< >>$@
180 +$(obj)/regs.o:$(obj)/regs.s
181 + $(X86_GAS) --32 -o $@ $<
182 +
183 +$(obj)/string.part.s:$(src)/string.c
184 + $(cgcc_cmd_cc_s_c)
185 +$(obj)/string.s:$(obj)/string.part.s
186 + printf '.code16gcc\n' >$@
187 + cat $< >>$@
188 +$(obj)/string.o:$(obj)/string.s
189 + $(X86_GAS) --32 -o $@ $<
190 +
191 +$(obj)/tty.part.s:$(src)/tty.c
192 + $(cgcc_cmd_cc_s_c)
193 +$(obj)/tty.s:$(obj)/tty.part.s
194 + printf '.code16gcc\n' >$@
195 + cat $< >>$@
196 +$(obj)/tty.o:$(obj)/tty.s
197 + $(X86_GAS) --32 -o $@ $<
198 +
199 +$(obj)/video.part.s:$(src)/video.c
200 + $(cgcc_cmd_cc_s_c)
201 +$(obj)/video.s:$(obj)/video.part.s
202 + printf '.code16gcc\n' >$@
203 + cat $< >>$@
204 +$(obj)/video.o:$(obj)/video.s
205 + $(X86_GAS) --32 -o $@ $<
206 +
207 +$(obj)/video-mode.part.s:$(src)/video-mode.c
208 + $(cgcc_cmd_cc_s_c)
209 +$(obj)/video-mode.s:$(obj)/video-mode.part.s
210 + printf '.code16gcc\n' >$@
211 + cat $< >>$@
212 +$(obj)/video-mode.o:$(obj)/video-mode.s
213 + $(X86_GAS) --32 -o $@ $<
214 +
215 +$(obj)/version.part.s:$(src)/version.c
216 + $(cgcc_cmd_cc_s_c)
217 +$(obj)/version.s:$(obj)/version.part.s
218 + printf '.code16gcc\n' >$@
219 + cat $< >>$@
220 +$(obj)/version.o:$(obj)/version.s
221 + $(X86_GAS) --32 -o $@ $<
222 +
223 +$(obj)/video-vga.part.s:$(src)/video-vga.c
224 + $(cgcc_cmd_cc_s_c)
225 +$(obj)/video-vga.s:$(obj)/video-vga.part.s
226 + printf '.code16gcc\n' >$@
227 + cat $< >>$@
228 +$(obj)/video-vga.o:$(obj)/video-vga.s
229 + $(X86_GAS) --32 -o $@ $<
230 +
231 +$(obj)/video-vesa.part.s:$(src)/video-vesa.c
232 + $(cgcc_cmd_cc_s_c)
233 +$(obj)/video-vesa.s:$(obj)/video-vesa.part.s
234 + printf '.code16gcc\n' >$@
235 + cat $< >>$@
236 +$(obj)/video-vesa.o:$(obj)/video-vesa.s
237 + $(X86_GAS) --32 -o $@ $<
238 +
239 +$(obj)/video-bios.part.s:$(src)/video-bios.c
240 + $(cgcc_cmd_cc_s_c)
241 +$(obj)/video-bios.s:$(obj)/video-bios.part.s
242 + printf '.code16gcc\n' >$@
243 + cat $< >>$@
244 +$(obj)/video-bios.o:$(obj)/video-bios.s
245 + $(X86_GAS) --32 -o $@ $<
246 +endif
247 +# workaround kbuild limitations for C gcc 4.7.4 -- END
248 +#-------------------------------------------------------------------------------
249 diff --git a/arch/x86/realmode/rm/Makefile b/arch/x86/realmode/rm/Makefile
250 index 83f1b6a56449..1071fdfe50a1 100644
251 --- a/arch/x86/realmode/rm/Makefile
252 +++ b/arch/x86/realmode/rm/Makefile
253 @@ -69,7 +69,48 @@ targets += realmode.relocs
254 $(obj)/realmode.relocs: $(obj)/realmode.elf FORCE
255 $(call if_changed,relocs)
256
257 -# ---------------------------------------------------------------------------
258 +# ------------------------------------------------------------------------------
259 +# workaround kbuild limitations for C gcc 4.7.4 -- START
260 +#
261 +# XXX: Isn't EFI handover to the OS done in 64bits mode?
262 +#
263 +ifeq ("$(CONFIG_GCC_VERSION)", "40704")
264 +cmd_cgcc_cpp_s_S = $(filter-out -m16 -march=i386,$(cmd_cpp_s_S))
265 +
266 +$(obj)/header.part.s: $(src)/header.S
267 + $(cmd_cgcc_cpp_s_S)
268 +$(obj)/header.s: $(obj)/header.part.s FORCE
269 + printf '.code16gcc\n' >$@
270 + cat $< >>$@
271 +$(obj)/header.o: $(obj)/header.s
272 + $(X86_GAS) --32 -o $@ $<
273 +
274 +$(obj)/trampoline_64.part.s: $(src)/trampoline_64.S
275 + $(cmd_cgcc_cpp_s_S)
276 +$(obj)/trampoline_64.s: $(obj)/trampoline_64.part.s FORCE
277 + printf '.code16gcc\n' >$@
278 + cat $< >>$@
279 +$(obj)/trampoline_64.o: $(obj)/trampoline_64.s
280 + $(X86_GAS) --32 -o $@ $<
281 +
282 +$(obj)/stack.part.s: $(src)/stack.S
283 + $(cmd_cgcc_cpp_s_S)
284 +$(obj)/stack.s: $(obj)/stack.part.s FORCE
285 + printf '.code16gcc\n' >$@
286 + cat $< >>$@
287 +$(obj)/stack.o: $(obj)/stack.s
288 + $(X86_GAS) --32 -o $@ $<
289 +
290 +$(obj)/reboot.part.s: $(src)/reboot.S
291 + $(cmd_cgcc_cpp_s_S)
292 +$(obj)/reboot.s: $(obj)/reboot.part.s FORCE
293 + printf '.code16gcc\n' >$@
294 + cat $< >>$@
295 +$(obj)/reboot.o: $(obj)/reboot.s
296 + $(X86_GAS) --32 -o $@ $<
297 +endif
298 +# workaround kbuild limitations for C gcc 4.7.4 -- END
299 +# ------------------------------------------------------------------------------
300
301 KBUILD_CFLAGS := $(REALMODE_CFLAGS) -D_SETUP -D_WAKEUP \
302 -I$(srctree)/arch/x86/boot
303 diff --git a/include/linux/bits.h b/include/linux/bits.h
304 index 7f475d59a097..34a66351a68a 100644
305 --- a/include/linux/bits.h
306 +++ b/include/linux/bits.h
307 @@ -17,8 +17,10 @@
308 * Create a contiguous bitmask starting at bit position @l and ending at
309 * position @h. For example
310 * GENMASK_ULL(39, 21) gives us the 64bit vector 0x000000ffffe00000.
311 + *
312 + * C GCC has a more constraint support for those builtins
313 */
314 -#if !defined(__ASSEMBLY__)
315 +#if !defined(__ASSEMBLY__) && !defined(GCC_C)
316 #include <linux/build_bug.h>
317 #define GENMASK_INPUT_CHECK(h, l) \
318 (BUILD_BUG_ON_ZERO(__builtin_choose_expr( \
319 diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
320 index 48750243db4c..076f50483f14 100644
321 --- a/include/linux/compiler-gcc.h
322 +++ b/include/linux/compiler-gcc.h
323 @@ -10,6 +10,19 @@
324 + __GNUC_MINOR__ * 100 \
325 + __GNUC_PATCHLEVEL__)
326
327 +/* help prevent planned obsolescence due to the use of recent c11 _Generic */
328 +#if GCC_VERSION >= 40900
329 +#define __generic(expr, t, yes, no) \
330 + _Generic(expr, t: yes, default: no)
331 +#define GCC_CXX 1
332 +#elif GCC_VERSION >= 30100
333 +#define __generic(expr, t, yes, no) \
334 + __builtin_choose_expr( \
335 + __builtin_types_compatible_p(__typeof(expr), t), yes, no)
336 +#define GCC_C 1
337 +#else
338 +# error your gcc compiler cannot support the __generic macro
339 +#endif
340 /*
341 * This macro obfuscates arithmetic on a variable address so that gcc
342 * shouldn't recognize the original var, and make assumptions about it.
343 diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
344 index e5dd5a4ae946..c115ed89ab82 100644
345 --- a/include/linux/compiler_types.h
346 +++ b/include/linux/compiler_types.h
347 @@ -259,23 +259,19 @@ struct ftrace_likely_data {
348 * __unqual_scalar_typeof(x) - Declare an unqualified scalar type, leaving
349 * non-scalar types unchanged.
350 */
351 -/*
352 - * Prefer C11 _Generic for better compile-times and simpler code. Note: 'char'
353 - * is not type-compatible with 'signed char', and we define a separate case.
354 - */
355 -#define __scalar_type_to_expr_cases(type) \
356 - unsigned type: (unsigned type)0, \
357 - signed type: (signed type)0
358 -
359 #define __unqual_scalar_typeof(x) typeof( \
360 - _Generic((x), \
361 - char: (char)0, \
362 - __scalar_type_to_expr_cases(char), \
363 - __scalar_type_to_expr_cases(short), \
364 - __scalar_type_to_expr_cases(int), \
365 - __scalar_type_to_expr_cases(long), \
366 - __scalar_type_to_expr_cases(long long), \
367 - default: (x)))
368 + __generic((x), char, (char)0, \
369 + __generic((x), unsigned char, (unsigned char)0, \
370 + __generic((x), signed char, (unsigned char)0, \
371 + __generic((x), unsigned short, (unsigned short)0, \
372 + __generic((x), signed short, (signed short)0, \
373 + __generic((x), unsigned int, (unsigned int)0, \
374 + __generic((x), signed int, (signed int)0, \
375 + __generic((x), unsigned long, (unsigned long)0, \
376 + __generic((x), signed long, (signed long)0, \
377 + __generic((x), unsigned long long, (unsigned long long)0, \
378 + __generic((x), signed long long, (signed long long)0, \
379 + (x)))))))))))))
380
381 /* Is this type a native word size -- useful for atomic operations */
382 #define __native_word(t) \
383 diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h
384 index 2e5debc0373c..c759eab8afd9 100644
385 --- a/include/linux/etherdevice.h
386 +++ b/include/linux/etherdevice.h
387 @@ -77,7 +77,7 @@ static inline bool is_link_local_ether_addr(const u8 *addr)
388 {
389 __be16 *a = (__be16 *)addr;
390 static const __be16 *b = (const __be16 *)eth_reserved_addr_base;
391 - static const __be16 m = cpu_to_be16(0xfff0);
392 + static const __be16 m = CPU_TO_BE16(0xfff0);
393
394 #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
395 return (((*(const u32 *)addr) ^ (*(const u32 *)b)) |
396 @@ -207,10 +207,10 @@ static inline bool eth_proto_is_802_3(__be16 proto)
397 {
398 #ifndef __BIG_ENDIAN
399 /* if CPU is little endian mask off bits representing LSB */
400 - proto &= htons(0xFF00);
401 + proto &= HTONS(0xFF00);
402 #endif
403 /* cast both to u16 and compare since LSB can be ignored */
404 - return (__force u16)proto >= (__force u16)htons(ETH_P_802_3_MIN);
405 + return (__force u16)proto >= (__force u16)HTONS(ETH_P_802_3_MIN);
406 }
407
408 /**
409 diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
410 index 41a518336673..8f71fde5752e 100644
411 --- a/include/linux/if_vlan.h
412 +++ b/include/linux/if_vlan.h
413 @@ -302,8 +302,8 @@ static inline bool vlan_uses_dev(const struct net_device *dev)
414 static inline bool eth_type_vlan(__be16 ethertype)
415 {
416 switch (ethertype) {
417 - case htons(ETH_P_8021Q):
418 - case htons(ETH_P_8021AD):
419 + case HTONS(ETH_P_8021Q):
420 + case HTONS(ETH_P_8021AD):
421 return true;
422 default:
423 return false;
424 @@ -313,9 +313,9 @@ static inline bool eth_type_vlan(__be16 ethertype)
425 static inline bool vlan_hw_offload_capable(netdev_features_t features,
426 __be16 proto)
427 {
428 - if (proto == htons(ETH_P_8021Q) && features & NETIF_F_HW_VLAN_CTAG_TX)
429 + if (proto == HTONS(ETH_P_8021Q) && features & NETIF_F_HW_VLAN_CTAG_TX)
430 return true;
431 - if (proto == htons(ETH_P_8021AD) && features & NETIF_F_HW_VLAN_STAG_TX)
432 + if (proto == HTONS(ETH_P_8021AD) && features & NETIF_F_HW_VLAN_STAG_TX)
433 return true;
434 return false;
435 }
436 @@ -666,12 +666,12 @@ static inline void vlan_set_encap_proto(struct sk_buff *skb,
437 * 802.2 SSAP/DSAP. This won't work for fault tolerant netware
438 * but does for the rest.
439 */
440 - skb->protocol = htons(ETH_P_802_3);
441 + skb->protocol = HTONS(ETH_P_802_3);
442 else
443 /*
444 * Real 802.2 LLC
445 */
446 - skb->protocol = htons(ETH_P_802_2);
447 + skb->protocol = HTONS(ETH_P_802_2);
448 }
449
450 /**
451 diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
452 index 87a5d186faff..411fd621d36e 100644
453 --- a/include/linux/netdevice.h
454 +++ b/include/linux/netdevice.h
455 @@ -4779,7 +4779,7 @@ __be16 skb_network_protocol(struct sk_buff *skb, int *depth);
456 static inline bool can_checksum_protocol(netdev_features_t features,
457 __be16 protocol)
458 {
459 - if (protocol == htons(ETH_P_FCOE))
460 + if (protocol == HTONS(ETH_P_FCOE))
461 return !!(features & NETIF_F_FCOE_CRC);
462
463 /* Assume this is an IP checksum (not SCTP CRC) */
464 @@ -4790,9 +4790,9 @@ static inline bool can_checksum_protocol(netdev_features_t features,
465 }
466
467 switch (protocol) {
468 - case htons(ETH_P_IP):
469 + case HTONS(ETH_P_IP):
470 return !!(features & NETIF_F_IP_CSUM);
471 - case htons(ETH_P_IPV6):
472 + case HTONS(ETH_P_IPV6):
473 return !!(features & NETIF_F_IPV6_CSUM);
474 default:
475 return false;
476 diff --git a/include/linux/sctp.h b/include/linux/sctp.h
477 index bb1926589693..f6d054c03da8 100644
478 --- a/include/linux/sctp.h
479 +++ b/include/linux/sctp.h
480 @@ -159,43 +159,43 @@ struct sctp_paramhdr {
481 enum sctp_param {
482
483 /* RFC 2960 Section 3.3.5 */
484 - SCTP_PARAM_HEARTBEAT_INFO = cpu_to_be16(1),
485 + SCTP_PARAM_HEARTBEAT_INFO = CPU_TO_BE16(1),
486 /* RFC 2960 Section 3.3.2.1 */
487 - SCTP_PARAM_IPV4_ADDRESS = cpu_to_be16(5),
488 - SCTP_PARAM_IPV6_ADDRESS = cpu_to_be16(6),
489 - SCTP_PARAM_STATE_COOKIE = cpu_to_be16(7),
490 - SCTP_PARAM_UNRECOGNIZED_PARAMETERS = cpu_to_be16(8),
491 - SCTP_PARAM_COOKIE_PRESERVATIVE = cpu_to_be16(9),
492 - SCTP_PARAM_HOST_NAME_ADDRESS = cpu_to_be16(11),
493 - SCTP_PARAM_SUPPORTED_ADDRESS_TYPES = cpu_to_be16(12),
494 - SCTP_PARAM_ECN_CAPABLE = cpu_to_be16(0x8000),
495 + SCTP_PARAM_IPV4_ADDRESS = CPU_TO_BE16(5),
496 + SCTP_PARAM_IPV6_ADDRESS = CPU_TO_BE16(6),
497 + SCTP_PARAM_STATE_COOKIE = CPU_TO_BE16(7),
498 + SCTP_PARAM_UNRECOGNIZED_PARAMETERS = CPU_TO_BE16(8),
499 + SCTP_PARAM_COOKIE_PRESERVATIVE = CPU_TO_BE16(9),
500 + SCTP_PARAM_HOST_NAME_ADDRESS = CPU_TO_BE16(11),
501 + SCTP_PARAM_SUPPORTED_ADDRESS_TYPES = CPU_TO_BE16(12),
502 + SCTP_PARAM_ECN_CAPABLE = CPU_TO_BE16(0x8000),
503
504 /* AUTH Extension Section 3 */
505 - SCTP_PARAM_RANDOM = cpu_to_be16(0x8002),
506 - SCTP_PARAM_CHUNKS = cpu_to_be16(0x8003),
507 - SCTP_PARAM_HMAC_ALGO = cpu_to_be16(0x8004),
508 + SCTP_PARAM_RANDOM = CPU_TO_BE16(0x8002),
509 + SCTP_PARAM_CHUNKS = CPU_TO_BE16(0x8003),
510 + SCTP_PARAM_HMAC_ALGO = CPU_TO_BE16(0x8004),
511
512 /* Add-IP: Supported Extensions, Section 4.2 */
513 - SCTP_PARAM_SUPPORTED_EXT = cpu_to_be16(0x8008),
514 + SCTP_PARAM_SUPPORTED_EXT = CPU_TO_BE16(0x8008),
515
516 /* PR-SCTP Sec 3.1 */
517 - SCTP_PARAM_FWD_TSN_SUPPORT = cpu_to_be16(0xc000),
518 + SCTP_PARAM_FWD_TSN_SUPPORT = CPU_TO_BE16(0xc000),
519
520 /* Add-IP Extension. Section 3.2 */
521 - SCTP_PARAM_ADD_IP = cpu_to_be16(0xc001),
522 - SCTP_PARAM_DEL_IP = cpu_to_be16(0xc002),
523 - SCTP_PARAM_ERR_CAUSE = cpu_to_be16(0xc003),
524 - SCTP_PARAM_SET_PRIMARY = cpu_to_be16(0xc004),
525 - SCTP_PARAM_SUCCESS_REPORT = cpu_to_be16(0xc005),
526 - SCTP_PARAM_ADAPTATION_LAYER_IND = cpu_to_be16(0xc006),
527 + SCTP_PARAM_ADD_IP = CPU_TO_BE16(0xc001),
528 + SCTP_PARAM_DEL_IP = CPU_TO_BE16(0xc002),
529 + SCTP_PARAM_ERR_CAUSE = CPU_TO_BE16(0xc003),
530 + SCTP_PARAM_SET_PRIMARY = CPU_TO_BE16(0xc004),
531 + SCTP_PARAM_SUCCESS_REPORT = CPU_TO_BE16(0xc005),
532 + SCTP_PARAM_ADAPTATION_LAYER_IND = CPU_TO_BE16(0xc006),
533
534 /* RE-CONFIG. Section 4 */
535 - SCTP_PARAM_RESET_OUT_REQUEST = cpu_to_be16(0x000d),
536 - SCTP_PARAM_RESET_IN_REQUEST = cpu_to_be16(0x000e),
537 - SCTP_PARAM_RESET_TSN_REQUEST = cpu_to_be16(0x000f),
538 - SCTP_PARAM_RESET_RESPONSE = cpu_to_be16(0x0010),
539 - SCTP_PARAM_RESET_ADD_OUT_STREAMS = cpu_to_be16(0x0011),
540 - SCTP_PARAM_RESET_ADD_IN_STREAMS = cpu_to_be16(0x0012),
541 + SCTP_PARAM_RESET_OUT_REQUEST = CPU_TO_BE16(0x000d),
542 + SCTP_PARAM_RESET_IN_REQUEST = CPU_TO_BE16(0x000e),
543 + SCTP_PARAM_RESET_TSN_REQUEST = CPU_TO_BE16(0x000f),
544 + SCTP_PARAM_RESET_RESPONSE = CPU_TO_BE16(0x0010),
545 + SCTP_PARAM_RESET_ADD_OUT_STREAMS = CPU_TO_BE16(0x0011),
546 + SCTP_PARAM_RESET_ADD_IN_STREAMS = CPU_TO_BE16(0x0012),
547 }; /* enum */
548
549
550 @@ -206,13 +206,13 @@ enum sctp_param {
551 *
552 */
553 enum {
554 - SCTP_PARAM_ACTION_DISCARD = cpu_to_be16(0x0000),
555 - SCTP_PARAM_ACTION_DISCARD_ERR = cpu_to_be16(0x4000),
556 - SCTP_PARAM_ACTION_SKIP = cpu_to_be16(0x8000),
557 - SCTP_PARAM_ACTION_SKIP_ERR = cpu_to_be16(0xc000),
558 + SCTP_PARAM_ACTION_DISCARD = CPU_TO_BE16(0x0000),
559 + SCTP_PARAM_ACTION_DISCARD_ERR = CPU_TO_BE16(0x4000),
560 + SCTP_PARAM_ACTION_SKIP = CPU_TO_BE16(0x8000),
561 + SCTP_PARAM_ACTION_SKIP_ERR = CPU_TO_BE16(0xc000),
562 };
563
564 -enum { SCTP_PARAM_ACTION_MASK = cpu_to_be16(0xc000), };
565 +enum { SCTP_PARAM_ACTION_MASK = CPU_TO_BE16(0xc000), };
566
567 /* RFC 2960 Section 3.3.1 Payload Data (DATA) (0) */
568
569 @@ -465,17 +465,17 @@ struct sctp_operr_chunk {
570 */
571 enum sctp_error {
572
573 - SCTP_ERROR_NO_ERROR = cpu_to_be16(0x00),
574 - SCTP_ERROR_INV_STRM = cpu_to_be16(0x01),
575 - SCTP_ERROR_MISS_PARAM = cpu_to_be16(0x02),
576 - SCTP_ERROR_STALE_COOKIE = cpu_to_be16(0x03),
577 - SCTP_ERROR_NO_RESOURCE = cpu_to_be16(0x04),
578 - SCTP_ERROR_DNS_FAILED = cpu_to_be16(0x05),
579 - SCTP_ERROR_UNKNOWN_CHUNK = cpu_to_be16(0x06),
580 - SCTP_ERROR_INV_PARAM = cpu_to_be16(0x07),
581 - SCTP_ERROR_UNKNOWN_PARAM = cpu_to_be16(0x08),
582 - SCTP_ERROR_NO_DATA = cpu_to_be16(0x09),
583 - SCTP_ERROR_COOKIE_IN_SHUTDOWN = cpu_to_be16(0x0a),
584 + SCTP_ERROR_NO_ERROR = CPU_TO_BE16(0x00),
585 + SCTP_ERROR_INV_STRM = CPU_TO_BE16(0x01),
586 + SCTP_ERROR_MISS_PARAM = CPU_TO_BE16(0x02),
587 + SCTP_ERROR_STALE_COOKIE = CPU_TO_BE16(0x03),
588 + SCTP_ERROR_NO_RESOURCE = CPU_TO_BE16(0x04),
589 + SCTP_ERROR_DNS_FAILED = CPU_TO_BE16(0x05),
590 + SCTP_ERROR_UNKNOWN_CHUNK = CPU_TO_BE16(0x06),
591 + SCTP_ERROR_INV_PARAM = CPU_TO_BE16(0x07),
592 + SCTP_ERROR_UNKNOWN_PARAM = CPU_TO_BE16(0x08),
593 + SCTP_ERROR_NO_DATA = CPU_TO_BE16(0x09),
594 + SCTP_ERROR_COOKIE_IN_SHUTDOWN = CPU_TO_BE16(0x0a),
595
596
597 /* SCTP Implementation Guide:
598 @@ -485,10 +485,10 @@ enum sctp_error {
599 * 14 Restart of an Association with New Encapsulation Port
600 */
601
602 - SCTP_ERROR_RESTART = cpu_to_be16(0x0b),
603 - SCTP_ERROR_USER_ABORT = cpu_to_be16(0x0c),
604 - SCTP_ERROR_PROTO_VIOLATION = cpu_to_be16(0x0d),
605 - SCTP_ERROR_NEW_ENCAP_PORT = cpu_to_be16(0x0e),
606 + SCTP_ERROR_RESTART = CPU_TO_BE16(0x0b),
607 + SCTP_ERROR_USER_ABORT = CPU_TO_BE16(0x0c),
608 + SCTP_ERROR_PROTO_VIOLATION = CPU_TO_BE16(0x0d),
609 + SCTP_ERROR_NEW_ENCAP_PORT = CPU_TO_BE16(0x0e),
610
611 /* ADDIP Section 3.3 New Error Causes
612 *
613 @@ -503,11 +503,11 @@ enum sctp_error {
614 * 0x00A3 Association Aborted due to illegal ASCONF-ACK
615 * 0x00A4 Request refused - no authorization.
616 */
617 - SCTP_ERROR_DEL_LAST_IP = cpu_to_be16(0x00A0),
618 - SCTP_ERROR_RSRC_LOW = cpu_to_be16(0x00A1),
619 - SCTP_ERROR_DEL_SRC_IP = cpu_to_be16(0x00A2),
620 - SCTP_ERROR_ASCONF_ACK = cpu_to_be16(0x00A3),
621 - SCTP_ERROR_REQ_REFUSED = cpu_to_be16(0x00A4),
622 + SCTP_ERROR_DEL_LAST_IP = CPU_TO_BE16(0x00A0),
623 + SCTP_ERROR_RSRC_LOW = CPU_TO_BE16(0x00A1),
624 + SCTP_ERROR_DEL_SRC_IP = CPU_TO_BE16(0x00A2),
625 + SCTP_ERROR_ASCONF_ACK = CPU_TO_BE16(0x00A3),
626 + SCTP_ERROR_REQ_REFUSED = CPU_TO_BE16(0x00A4),
627
628 /* AUTH Section 4. New Error Cause
629 *
630 @@ -519,7 +519,7 @@ enum sctp_error {
631 * --------------------------------------------------------------
632 * 0x0105 Unsupported HMAC Identifier
633 */
634 - SCTP_ERROR_UNSUP_HMAC = cpu_to_be16(0x0105)
635 + SCTP_ERROR_UNSUP_HMAC = CPU_TO_BE16(0x0105)
636 };
637
638
639 diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h
640 index f61e34fbaaea..c4cbe5b3abcf 100644
641 --- a/include/linux/seqlock.h
642 +++ b/include/linux/seqlock.h
643 @@ -296,17 +296,20 @@ SEQCOUNT_LOCKNAME(ww_mutex, struct ww_mutex, true, &s->lock->base, ww_mu
644 #define SEQCNT_MUTEX_ZERO(name, lock) SEQCOUNT_LOCKNAME_ZERO(name, lock)
645 #define SEQCNT_WW_MUTEX_ZERO(name, lock) SEQCOUNT_LOCKNAME_ZERO(name, lock)
646
647 -#define __seqprop_case(s, lockname, prop) \
648 - seqcount_##lockname##_t: __seqprop_##lockname##_##prop((void *)(s))
649 -
650 -#define __seqprop(s, prop) _Generic(*(s), \
651 - seqcount_t: __seqprop_##prop((void *)(s)), \
652 - __seqprop_case((s), raw_spinlock, prop), \
653 - __seqprop_case((s), spinlock, prop), \
654 - __seqprop_case((s), rwlock, prop), \
655 - __seqprop_case((s), mutex, prop), \
656 - __seqprop_case((s), ww_mutex, prop))
657 -
658 +#define __seqprop(s, prop) \
659 + __generic(*(s), seqcount_t, __seqprop_##prop((void *)(s)), \
660 + __generic(*(s), seqcount_raw_spinlock_t, \
661 + __seqprop_raw_spinlock_##prop((void *)(s)), \
662 + __generic(*(s), seqcount_spinlock_t, \
663 + __seqprop_spinlock_##prop((void *)(s)), \
664 + __generic(*(s), seqcount_rwlock_t, \
665 + __seqprop_rwlock_##prop((void *)(s)), \
666 + __generic(*(s), seqcount_mutex_t, \
667 + __seqprop_mutex_##prop((void *)(s)), \
668 + __generic(*(s), seqcount_ww_mutex_t, \
669 + __seqprop_ww_mutex_##prop((void *)(s)), \
670 + panic("seqlock:__seqprop:unsupported type")))))))
671 +
672 #define seqprop_ptr(s) __seqprop(s, ptr)
673 #define seqprop_sequence(s) __seqprop(s, sequence)
674 #define seqprop_preemptible(s) __seqprop(s, preemptible)
675 diff --git a/include/net/inet_ecn.h b/include/net/inet_ecn.h
676 index ba77f47ef61e..40376a43f4e3 100644
677 --- a/include/net/inet_ecn.h
678 +++ b/include/net/inet_ecn.h
679 @@ -91,10 +91,10 @@ static inline int IP_ECN_set_ce(struct iphdr *iph)
680
681 /*
682 * The following gives us:
683 - * INET_ECN_ECT_1 => check += htons(0xFFFD)
684 - * INET_ECN_ECT_0 => check += htons(0xFFFE)
685 + * INET_ECN_ECT_1 => check += HTONS(0xFFFD)
686 + * INET_ECN_ECT_0 => check += HTONS(0xFFFE)
687 */
688 - check_add = (__force __be16)((__force u16)htons(0xFFFB) +
689 + check_add = (__force __be16)((__force u16)HTONS(0xFFFB) +
690 (__force u16)htons(ecn));
691
692 iph->check = csum16_add(iph->check, check_add);
693 @@ -107,7 +107,7 @@ static inline int IP_ECN_set_ect1(struct iphdr *iph)
694 if ((iph->tos & INET_ECN_MASK) != INET_ECN_ECT_0)
695 return 0;
696
697 - iph->check = csum16_add(iph->check, htons(0x1));
698 + iph->check = csum16_add(iph->check, HTONS(0x1));
699 iph->tos ^= INET_ECN_MASK;
700 return 1;
701 }
702 @@ -172,13 +172,13 @@ static inline void ipv6_copy_dscp(unsigned int dscp, struct ipv6hdr *inner)
703 static inline int INET_ECN_set_ce(struct sk_buff *skb)
704 {
705 switch (skb_protocol(skb, true)) {
706 - case cpu_to_be16(ETH_P_IP):
707 + case CPU_TO_BE16(ETH_P_IP):
708 if (skb_network_header(skb) + sizeof(struct iphdr) <=
709 skb_tail_pointer(skb))
710 return IP_ECN_set_ce(ip_hdr(skb));
711 break;
712
713 - case cpu_to_be16(ETH_P_IPV6):
714 + case CPU_TO_BE16(ETH_P_IPV6):
715 if (skb_network_header(skb) + sizeof(struct ipv6hdr) <=
716 skb_tail_pointer(skb))
717 return IP6_ECN_set_ce(skb, ipv6_hdr(skb));
718 @@ -191,13 +191,13 @@ static inline int INET_ECN_set_ce(struct sk_buff *skb)
719 static inline int INET_ECN_set_ect1(struct sk_buff *skb)
720 {
721 switch (skb_protocol(skb, true)) {
722 - case cpu_to_be16(ETH_P_IP):
723 + case CPU_TO_BE16(ETH_P_IP):
724 if (skb_network_header(skb) + sizeof(struct iphdr) <=
725 skb_tail_pointer(skb))
726 return IP_ECN_set_ect1(ip_hdr(skb));
727 break;
728
729 - case cpu_to_be16(ETH_P_IPV6):
730 + case CPU_TO_BE16(ETH_P_IPV6):
731 if (skb_network_header(skb) + sizeof(struct ipv6hdr) <=
732 skb_tail_pointer(skb))
733 return IP6_ECN_set_ect1(skb, ipv6_hdr(skb));
734 @@ -272,10 +272,10 @@ static inline int IP_ECN_decapsulate(const struct iphdr *oiph,
735 __u8 inner;
736
737 switch (skb_protocol(skb, true)) {
738 - case htons(ETH_P_IP):
739 + case HTONS(ETH_P_IP):
740 inner = ip_hdr(skb)->tos;
741 break;
742 - case htons(ETH_P_IPV6):
743 + case HTONS(ETH_P_IPV6):
744 inner = ipv6_get_dsfield(ipv6_hdr(skb));
745 break;
746 default:
747 @@ -291,10 +291,10 @@ static inline int IP6_ECN_decapsulate(const struct ipv6hdr *oipv6h,
748 __u8 inner;
749
750 switch (skb_protocol(skb, true)) {
751 - case htons(ETH_P_IP):
752 + case HTONS(ETH_P_IP):
753 inner = ip_hdr(skb)->tos;
754 break;
755 - case htons(ETH_P_IPV6):
756 + case HTONS(ETH_P_IPV6):
757 inner = ipv6_get_dsfield(ipv6_hdr(skb));
758 break;
759 default:
760 diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h
761 index 548b65bd3973..c4b924dcb28f 100644
762 --- a/include/net/ip_tunnels.h
763 +++ b/include/net/ip_tunnels.h
764 @@ -317,11 +317,11 @@ static inline bool pskb_inet_may_pull(struct sk_buff *skb)
765
766 switch (skb->protocol) {
767 #if IS_ENABLED(CONFIG_IPV6)
768 - case htons(ETH_P_IPV6):
769 + case HTONS(ETH_P_IPV6):
770 nhlen = sizeof(struct ipv6hdr);
771 break;
772 #endif
773 - case htons(ETH_P_IP):
774 + case HTONS(ETH_P_IP):
775 nhlen = sizeof(struct iphdr);
776 break;
777 default:
778 @@ -376,9 +376,9 @@ static inline int ip_tunnel_encap(struct sk_buff *skb, struct ip_tunnel *t,
779 static inline u8 ip_tunnel_get_dsfield(const struct iphdr *iph,
780 const struct sk_buff *skb)
781 {
782 - if (skb->protocol == htons(ETH_P_IP))
783 + if (skb->protocol == HTONS(ETH_P_IP))
784 return iph->tos;
785 - else if (skb->protocol == htons(ETH_P_IPV6))
786 + else if (skb->protocol == HTONS(ETH_P_IPV6))
787 return ipv6_get_dsfield((const struct ipv6hdr *)iph);
788 else
789 return 0;
790 @@ -387,9 +387,9 @@ static inline u8 ip_tunnel_get_dsfield(const struct iphdr *iph,
791 static inline u8 ip_tunnel_get_ttl(const struct iphdr *iph,
792 const struct sk_buff *skb)
793 {
794 - if (skb->protocol == htons(ETH_P_IP))
795 + if (skb->protocol == HTONS(ETH_P_IP))
796 return iph->ttl;
797 - else if (skb->protocol == htons(ETH_P_IPV6))
798 + else if (skb->protocol == HTONS(ETH_P_IPV6))
799 return ((const struct ipv6hdr *)iph)->hop_limit;
800 else
801 return 0;
802 diff --git a/include/net/vxlan.h b/include/net/vxlan.h
803 index 08537aa14f7c..8aeed92d2f85 100644
804 --- a/include/net/vxlan.h
805 +++ b/include/net/vxlan.h
806 @@ -305,10 +305,10 @@ static inline netdev_features_t vxlan_features_check(struct sk_buff *skb,
807 return features;
808
809 switch (vlan_get_protocol(skb)) {
810 - case htons(ETH_P_IP):
811 + case HTONS(ETH_P_IP):
812 l4_hdr = ip_hdr(skb)->protocol;
813 break;
814 - case htons(ETH_P_IPV6):
815 + case HTONS(ETH_P_IPV6):
816 l4_hdr = ipv6_hdr(skb)->nexthdr;
817 break;
818 default:
819 @@ -317,7 +317,7 @@ static inline netdev_features_t vxlan_features_check(struct sk_buff *skb,
820
821 if ((l4_hdr == IPPROTO_UDP) &&
822 (skb->inner_protocol_type != ENCAP_TYPE_ETHER ||
823 - skb->inner_protocol != htons(ETH_P_TEB) ||
824 + skb->inner_protocol != HTONS(ETH_P_TEB) ||
825 (skb_inner_mac_header(skb) - skb_transport_header(skb) !=
826 sizeof(struct udphdr) + sizeof(struct vxlanhdr)) ||
827 (skb->ip_summed != CHECKSUM_NONE &&
828 diff --git a/include/uapi/linux/byteorder/big_endian.h b/include/uapi/linux/byteorder/big_endian.h
829 index 2199adc6a6c2..0ebe23461acf 100644
830 --- a/include/uapi/linux/byteorder/big_endian.h
831 +++ b/include/uapi/linux/byteorder/big_endian.h
832 @@ -15,6 +15,7 @@
833 #define __constant_htonl(x) ((__force __be32)(__u32)(x))
834 #define __constant_ntohl(x) ((__force __u32)(__be32)(x))
835 #define __constant_htons(x) ((__force __be16)(__u16)(x))
836 +#define HTONS(x) __constant_htons(x)
837 #define __constant_ntohs(x) ((__force __u16)(__be16)(x))
838 #define __constant_cpu_to_le64(x) ((__force __le64)___constant_swab64((x)))
839 #define __constant_le64_to_cpu(x) ___constant_swab64((__force __u64)(__le64)(x))
840 @@ -27,6 +28,7 @@
841 #define __constant_cpu_to_be32(x) ((__force __be32)(__u32)(x))
842 #define __constant_be32_to_cpu(x) ((__force __u32)(__be32)(x))
843 #define __constant_cpu_to_be16(x) ((__force __be16)(__u16)(x))
844 +#define CPU_TO_BE16(x) __constant_cpu_to_be16(x)
845 #define __constant_be16_to_cpu(x) ((__force __u16)(__be16)(x))
846 #define __cpu_to_le64(x) ((__force __le64)__swab64((x)))
847 #define __le64_to_cpu(x) __swab64((__force __u64)(__le64)(x))
848 diff --git a/include/uapi/linux/byteorder/little_endian.h b/include/uapi/linux/byteorder/little_endian.h
849 index 601c904fd5cd..cdedd4e2b99f 100644
850 --- a/include/uapi/linux/byteorder/little_endian.h
851 +++ b/include/uapi/linux/byteorder/little_endian.h
852 @@ -15,6 +15,7 @@
853 #define __constant_htonl(x) ((__force __be32)___constant_swab32((x)))
854 #define __constant_ntohl(x) ___constant_swab32((__force __be32)(x))
855 #define __constant_htons(x) ((__force __be16)___constant_swab16((x)))
856 +#define HTONS(x) __constant_htons(x)
857 #define __constant_ntohs(x) ___constant_swab16((__force __be16)(x))
858 #define __constant_cpu_to_le64(x) ((__force __le64)(__u64)(x))
859 #define __constant_le64_to_cpu(x) ((__force __u64)(__le64)(x))
860 @@ -27,6 +28,7 @@
861 #define __constant_cpu_to_be32(x) ((__force __be32)___constant_swab32((x)))
862 #define __constant_be32_to_cpu(x) ___constant_swab32((__force __u32)(__be32)(x))
863 #define __constant_cpu_to_be16(x) ((__force __be16)___constant_swab16((x)))
864 +#define CPU_TO_BE16(x) __constant_cpu_to_be16(x)
865 #define __constant_be16_to_cpu(x) ___constant_swab16((__force __u16)(__be16)(x))
866 #define __cpu_to_le64(x) ((__force __le64)(__u64)(x))
867 #define __le64_to_cpu(x) ((__force __u64)(__le64)(x))
868 diff --git a/net/core/dev.c b/net/core/dev.c
869 index 1f79b9aa9a3f..c070b84dd675 100644
870 --- a/net/core/dev.c
871 +++ b/net/core/dev.c
872 @@ -512,7 +512,7 @@ static inline void netdev_set_addr_lockdep_class(struct net_device *dev)
873
874 static inline struct list_head *ptype_head(const struct packet_type *pt)
875 {
876 - if (pt->type == htons(ETH_P_ALL))
877 + if (pt->type == HTONS(ETH_P_ALL))
878 return pt->dev ? &pt->dev->ptype_all : &ptype_all;
879 else
880 return pt->dev ? &pt->dev->ptype_specific :
881 @@ -3320,7 +3320,7 @@ __be16 skb_network_protocol(struct sk_buff *skb, int *depth)
882 __be16 type = skb->protocol;
883
884 /* Tunnel gso handlers can set protocol to ethernet. */
885 - if (type == htons(ETH_P_TEB)) {
886 + if (type == HTONS(ETH_P_TEB)) {
887 struct ethhdr *eth;
888
889 if (unlikely(!pskb_may_pull(skb, sizeof(struct ethhdr))))
890 @@ -3552,7 +3552,7 @@ static netdev_features_t gso_features_check(const struct sk_buff *skb,
891 struct iphdr *iph = skb->encapsulation ?
892 inner_ip_hdr(skb) : ip_hdr(skb);
893
894 - if (!(iph->frag_off & htons(IP_DF)))
895 + if (!(iph->frag_off & HTONS(IP_DF)))
896 features &= ~NETIF_F_TSO_MANGLEID;
897 }
898
899 @@ -5141,11 +5141,11 @@ EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
900 static bool skb_pfmemalloc_protocol(struct sk_buff *skb)
901 {
902 switch (skb->protocol) {
903 - case htons(ETH_P_ARP):
904 - case htons(ETH_P_IP):
905 - case htons(ETH_P_IPV6):
906 - case htons(ETH_P_8021Q):
907 - case htons(ETH_P_8021AD):
908 + case HTONS(ETH_P_ARP):
909 + case HTONS(ETH_P_IP):
910 + case HTONS(ETH_P_IPV6):
911 + case HTONS(ETH_P_8021Q):
912 + case HTONS(ETH_P_8021AD):
913 return true;
914 default:
915 return false;
916 diff --git a/net/core/filter.c b/net/core/filter.c
917 index 9323d34d34cc..fcfa5b593c41 100644
918 --- a/net/core/filter.c
919 +++ b/net/core/filter.c
920 @@ -2400,9 +2400,9 @@ static int __bpf_redirect_neigh(struct sk_buff *skb, struct net_device *dev,
921 skb_unset_mac_header(skb);
922 skb_reset_network_header(skb);
923
924 - if (skb->protocol == htons(ETH_P_IP))
925 + if (skb->protocol == HTONS(ETH_P_IP))
926 return __bpf_redirect_neigh_v4(skb, dev, nh);
927 - else if (skb->protocol == htons(ETH_P_IPV6))
928 + else if (skb->protocol == HTONS(ETH_P_IPV6))
929 return __bpf_redirect_neigh_v6(skb, dev, nh);
930 out:
931 kfree_skb(skb);
932 @@ -3129,9 +3129,9 @@ BPF_CALL_3(bpf_skb_vlan_push, struct sk_buff *, skb, __be16, vlan_proto,
933 {
934 int ret;
935
936 - if (unlikely(vlan_proto != htons(ETH_P_8021Q) &&
937 - vlan_proto != htons(ETH_P_8021AD)))
938 - vlan_proto = htons(ETH_P_8021Q);
939 + if (unlikely(vlan_proto != HTONS(ETH_P_8021Q) &&
940 + vlan_proto != HTONS(ETH_P_8021AD)))
941 + vlan_proto = HTONS(ETH_P_8021Q);
942
943 bpf_push_mac_rcsum(skb);
944 ret = skb_vlan_push(skb, vlan_proto, vlan_tci);
945 @@ -3273,7 +3273,7 @@ static int bpf_skb_proto_4_to_6(struct sk_buff *skb)
946 shinfo->gso_segs = 0;
947 }
948
949 - skb->protocol = htons(ETH_P_IPV6);
950 + skb->protocol = HTONS(ETH_P_IPV6);
951 skb_clear_hash(skb);
952
953 return 0;
954 @@ -3314,7 +3314,7 @@ static int bpf_skb_proto_6_to_4(struct sk_buff *skb)
955 shinfo->gso_segs = 0;
956 }
957
958 - skb->protocol = htons(ETH_P_IP);
959 + skb->protocol = HTONS(ETH_P_IP);
960 skb_clear_hash(skb);
961
962 return 0;
963 @@ -3324,12 +3324,12 @@ static int bpf_skb_proto_xlat(struct sk_buff *skb, __be16 to_proto)
964 {
965 __be16 from_proto = skb->protocol;
966
967 - if (from_proto == htons(ETH_P_IP) &&
968 - to_proto == htons(ETH_P_IPV6))
969 + if (from_proto == HTONS(ETH_P_IP) &&
970 + to_proto == HTONS(ETH_P_IPV6))
971 return bpf_skb_proto_4_to_6(skb);
972
973 - if (from_proto == htons(ETH_P_IPV6) &&
974 - to_proto == htons(ETH_P_IP))
975 + if (from_proto == HTONS(ETH_P_IPV6) &&
976 + to_proto == HTONS(ETH_P_IP))
977 return bpf_skb_proto_6_to_4(skb);
978
979 return -ENOTSUPP;
980 @@ -3396,9 +3396,9 @@ static const struct bpf_func_proto bpf_skb_change_type_proto = {
981 static u32 bpf_skb_net_base_len(const struct sk_buff *skb)
982 {
983 switch (skb->protocol) {
984 - case htons(ETH_P_IP):
985 + case HTONS(ETH_P_IP):
986 return sizeof(struct iphdr);
987 - case htons(ETH_P_IPV6):
988 + case HTONS(ETH_P_IPV6):
989 return sizeof(struct ipv6hdr);
990 default:
991 return ~0U;
992 @@ -3436,8 +3436,8 @@ static int bpf_skb_net_grow(struct sk_buff *skb, u32 off, u32 len_diff,
993 return ret;
994
995 if (encap) {
996 - if (skb->protocol != htons(ETH_P_IP) &&
997 - skb->protocol != htons(ETH_P_IPV6))
998 + if (skb->protocol != HTONS(ETH_P_IP) &&
999 + skb->protocol != HTONS(ETH_P_IPV6))
1000 return -ENOTSUPP;
1001
1002 if (flags & BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 &&
1003 @@ -3490,12 +3490,12 @@ static int bpf_skb_net_grow(struct sk_buff *skb, u32 off, u32 len_diff,
1004 }
1005
1006 /* Match skb->protocol to new outer l3 protocol */
1007 - if (skb->protocol == htons(ETH_P_IP) &&
1008 + if (skb->protocol == HTONS(ETH_P_IP) &&
1009 flags & BPF_F_ADJ_ROOM_ENCAP_L3_IPV6)
1010 - skb->protocol = htons(ETH_P_IPV6);
1011 - else if (skb->protocol == htons(ETH_P_IPV6) &&
1012 + skb->protocol = HTONS(ETH_P_IPV6);
1013 + else if (skb->protocol == HTONS(ETH_P_IPV6) &&
1014 flags & BPF_F_ADJ_ROOM_ENCAP_L3_IPV4)
1015 - skb->protocol = htons(ETH_P_IP);
1016 + skb->protocol = HTONS(ETH_P_IP);
1017 }
1018
1019 if (skb_is_gso(skb)) {
1020 @@ -3612,8 +3612,8 @@ BPF_CALL_4(bpf_skb_adjust_room, struct sk_buff *, skb, s32, len_diff,
1021 return -EINVAL;
1022 if (unlikely(len_diff_abs > 0xfffU))
1023 return -EFAULT;
1024 - if (unlikely(proto != htons(ETH_P_IP) &&
1025 - proto != htons(ETH_P_IPV6)))
1026 + if (unlikely(proto != HTONS(ETH_P_IP) &&
1027 + proto != HTONS(ETH_P_IPV6)))
1028 return -ENOTSUPP;
1029
1030 off = skb_mac_header_len(skb);
1031 @@ -5221,14 +5221,14 @@ BPF_CALL_3(bpf_bind, struct bpf_sock_addr_kern *, ctx, struct sockaddr *, addr,
1032 if (addr->sa_family == AF_INET) {
1033 if (addr_len < sizeof(struct sockaddr_in))
1034 return err;
1035 - if (((struct sockaddr_in *)addr)->sin_port == htons(0))
1036 + if (((struct sockaddr_in *)addr)->sin_port == HTONS(0))
1037 flags |= BIND_FORCE_ADDRESS_NO_PORT;
1038 return __inet_bind(sk, addr, addr_len, flags);
1039 #if IS_ENABLED(CONFIG_IPV6)
1040 } else if (addr->sa_family == AF_INET6) {
1041 if (addr_len < SIN6_LEN_RFC2133)
1042 return err;
1043 - if (((struct sockaddr_in6 *)addr)->sin6_port == htons(0))
1044 + if (((struct sockaddr_in6 *)addr)->sin6_port == HTONS(0))
1045 flags |= BIND_FORCE_ADDRESS_NO_PORT;
1046 /* ipv6_bpf_stub cannot be NULL, since it's called from
1047 * bpf_cgroup_inet6_connect hook and ipv6 is already loaded
1048 @@ -5764,7 +5764,7 @@ static int bpf_push_seg6_encap(struct sk_buff *skb, u32 type, void *hdr, u32 len
1049
1050 switch (type) {
1051 case BPF_LWT_ENCAP_SEG6_INLINE:
1052 - if (skb->protocol != htons(ETH_P_IPV6))
1053 + if (skb->protocol != HTONS(ETH_P_IPV6))
1054 return -EBADMSG;
1055
1056 err = seg6_do_srh_inline(skb, srh);
1057 @@ -6564,10 +6564,10 @@ BPF_CALL_1(bpf_skb_ecn_set_ce, struct sk_buff *, skb)
1058 unsigned int iphdr_len;
1059
1060 switch (skb_protocol(skb, true)) {
1061 - case cpu_to_be16(ETH_P_IP):
1062 + case CPU_TO_BE16(ETH_P_IP):
1063 iphdr_len = sizeof(struct iphdr);
1064 break;
1065 - case cpu_to_be16(ETH_P_IPV6):
1066 + case CPU_TO_BE16(ETH_P_IPV6):
1067 iphdr_len = sizeof(struct ipv6hdr);
1068 break;
1069 default:
1070 diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c
1071 index a96a4f5de0ce..627b7a4bf863 100644
1072 --- a/net/core/flow_dissector.c
1073 +++ b/net/core/flow_dissector.c
1074 @@ -487,12 +487,12 @@ __skb_flow_dissect_arp(const struct sk_buff *skb,
1075 if (!arp)
1076 return FLOW_DISSECT_RET_OUT_BAD;
1077
1078 - if (arp->ar_hrd != htons(ARPHRD_ETHER) ||
1079 - arp->ar_pro != htons(ETH_P_IP) ||
1080 + if (arp->ar_hrd != HTONS(ARPHRD_ETHER) ||
1081 + arp->ar_pro != HTONS(ETH_P_IP) ||
1082 arp->ar_hln != ETH_ALEN ||
1083 arp->ar_pln != 4 ||
1084 - (arp->ar_op != htons(ARPOP_REPLY) &&
1085 - arp->ar_op != htons(ARPOP_REQUEST)))
1086 + (arp->ar_op != HTONS(ARPOP_REPLY) &&
1087 + arp->ar_op != HTONS(ARPOP_REQUEST)))
1088 return FLOW_DISSECT_RET_OUT_BAD;
1089
1090 arp_eth = __skb_header_pointer(skb, nhoff + sizeof(_arp),
1091 @@ -586,7 +586,7 @@ __skb_flow_dissect_gre(const struct sk_buff *skb,
1092 offset += sizeof_field(struct pptp_gre_header, seq);
1093
1094 if (gre_ver == 0) {
1095 - if (*p_proto == htons(ETH_P_TEB)) {
1096 + if (*p_proto == HTONS(ETH_P_TEB)) {
1097 const struct ethhdr *eth;
1098 struct ethhdr _eth;
1099
1100 @@ -620,10 +620,10 @@ __skb_flow_dissect_gre(const struct sk_buff *skb,
1101
1102 switch (PPP_PROTOCOL(ppp_hdr)) {
1103 case PPP_IP:
1104 - *p_proto = htons(ETH_P_IP);
1105 + *p_proto = HTONS(ETH_P_IP);
1106 break;
1107 case PPP_IPV6:
1108 - *p_proto = htons(ETH_P_IPV6);
1109 + *p_proto = HTONS(ETH_P_IPV6);
1110 break;
1111 default:
1112 /* Could probably catch some more like MPLS */
1113 @@ -713,7 +713,7 @@ __skb_flow_dissect_tcp(const struct sk_buff *skb,
1114 key_tcp = skb_flow_dissector_target(flow_dissector,
1115 FLOW_DISSECTOR_KEY_TCP,
1116 target_container);
1117 - key_tcp->flags = (*(__be16 *) &tcp_flag_word(th) & htons(0x0FFF));
1118 + key_tcp->flags = (*(__be16 *) &tcp_flag_word(th) & HTONS(0x0FFF));
1119 }
1120
1121 static void
1122 @@ -933,7 +933,7 @@ bool __skb_flow_dissect(const struct net *net,
1123 hlen = skb_headlen(skb);
1124 #if IS_ENABLED(CONFIG_NET_DSA)
1125 if (unlikely(skb->dev && netdev_uses_dsa(skb->dev) &&
1126 - proto == htons(ETH_P_XDSA))) {
1127 + proto == HTONS(ETH_P_XDSA))) {
1128 const struct dsa_device_ops *ops;
1129 int offset = 0;
1130
1131 @@ -1031,7 +1031,7 @@ bool __skb_flow_dissect(const struct net *net,
1132 fdret = FLOW_DISSECT_RET_CONTINUE;
1133
1134 switch (proto) {
1135 - case htons(ETH_P_IP): {
1136 + case HTONS(ETH_P_IP): {
1137 const struct iphdr *iph;
1138 struct iphdr _iph;
1139
1140 @@ -1062,7 +1062,7 @@ bool __skb_flow_dissect(const struct net *net,
1141 if (ip_is_fragment(iph)) {
1142 key_control->flags |= FLOW_DIS_IS_FRAGMENT;
1143
1144 - if (iph->frag_off & htons(IP_OFFSET)) {
1145 + if (iph->frag_off & HTONS(IP_OFFSET)) {
1146 fdret = FLOW_DISSECT_RET_OUT_GOOD;
1147 break;
1148 } else {
1149 @@ -1077,7 +1077,7 @@ bool __skb_flow_dissect(const struct net *net,
1150
1151 break;
1152 }
1153 - case htons(ETH_P_IPV6): {
1154 + case HTONS(ETH_P_IPV6): {
1155 const struct ipv6hdr *iph;
1156 struct ipv6hdr _iph;
1157
1158 @@ -1125,8 +1125,8 @@ bool __skb_flow_dissect(const struct net *net,
1159
1160 break;
1161 }
1162 - case htons(ETH_P_8021AD):
1163 - case htons(ETH_P_8021Q): {
1164 + case HTONS(ETH_P_8021AD):
1165 + case HTONS(ETH_P_8021Q): {
1166 const struct vlan_hdr *vlan = NULL;
1167 struct vlan_hdr _vlan;
1168 __be16 saved_vlan_tpid = proto;
1169 @@ -1176,7 +1176,7 @@ bool __skb_flow_dissect(const struct net *net,
1170 fdret = FLOW_DISSECT_RET_PROTO_AGAIN;
1171 break;
1172 }
1173 - case htons(ETH_P_PPP_SES): {
1174 + case HTONS(ETH_P_PPP_SES): {
1175 struct {
1176 struct pppoe_hdr hdr;
1177 __be16 proto;
1178 @@ -1190,12 +1190,12 @@ bool __skb_flow_dissect(const struct net *net,
1179 proto = hdr->proto;
1180 nhoff += PPPOE_SES_HLEN;
1181 switch (proto) {
1182 - case htons(PPP_IP):
1183 - proto = htons(ETH_P_IP);
1184 + case HTONS(PPP_IP):
1185 + proto = HTONS(ETH_P_IP);
1186 fdret = FLOW_DISSECT_RET_PROTO_AGAIN;
1187 break;
1188 - case htons(PPP_IPV6):
1189 - proto = htons(ETH_P_IPV6);
1190 + case HTONS(PPP_IPV6):
1191 + proto = HTONS(ETH_P_IPV6);
1192 fdret = FLOW_DISSECT_RET_PROTO_AGAIN;
1193 break;
1194 default:
1195 @@ -1204,7 +1204,7 @@ bool __skb_flow_dissect(const struct net *net,
1196 }
1197 break;
1198 }
1199 - case htons(ETH_P_TIPC): {
1200 + case HTONS(ETH_P_TIPC): {
1201 struct tipc_basic_hdr *hdr, _hdr;
1202
1203 hdr = __skb_header_pointer(skb, nhoff, sizeof(_hdr),
1204 @@ -1226,8 +1226,8 @@ bool __skb_flow_dissect(const struct net *net,
1205 break;
1206 }
1207
1208 - case htons(ETH_P_MPLS_UC):
1209 - case htons(ETH_P_MPLS_MC):
1210 + case HTONS(ETH_P_MPLS_UC):
1211 + case HTONS(ETH_P_MPLS_MC):
1212 fdret = __skb_flow_dissect_mpls(skb, flow_dissector,
1213 target_container, data,
1214 nhoff, hlen, mpls_lse,
1215 @@ -1235,7 +1235,7 @@ bool __skb_flow_dissect(const struct net *net,
1216 nhoff += sizeof(struct mpls_label);
1217 mpls_lse++;
1218 break;
1219 - case htons(ETH_P_FCOE):
1220 + case HTONS(ETH_P_FCOE):
1221 if ((hlen - nhoff) < FCOE_HEADER_LEN) {
1222 fdret = FLOW_DISSECT_RET_OUT_BAD;
1223 break;
1224 @@ -1245,19 +1245,19 @@ bool __skb_flow_dissect(const struct net *net,
1225 fdret = FLOW_DISSECT_RET_OUT_GOOD;
1226 break;
1227
1228 - case htons(ETH_P_ARP):
1229 - case htons(ETH_P_RARP):
1230 + case HTONS(ETH_P_ARP):
1231 + case HTONS(ETH_P_RARP):
1232 fdret = __skb_flow_dissect_arp(skb, flow_dissector,
1233 target_container, data,
1234 nhoff, hlen);
1235 break;
1236
1237 - case htons(ETH_P_BATMAN):
1238 + case HTONS(ETH_P_BATMAN):
1239 fdret = __skb_flow_dissect_batadv(skb, key_control, data,
1240 &proto, &nhoff, hlen, flags);
1241 break;
1242
1243 - case htons(ETH_P_1588): {
1244 + case HTONS(ETH_P_1588): {
1245 struct ptp_header *hdr, _hdr;
1246
1247 hdr = __skb_header_pointer(skb, nhoff, sizeof(_hdr), data,
1248 @@ -1308,7 +1308,7 @@ bool __skb_flow_dissect(const struct net *net,
1249 case NEXTHDR_DEST: {
1250 u8 _opthdr[2], *opthdr;
1251
1252 - if (proto != htons(ETH_P_IPV6))
1253 + if (proto != HTONS(ETH_P_IPV6))
1254 break;
1255
1256 opthdr = __skb_header_pointer(skb, nhoff, sizeof(_opthdr),
1257 @@ -1327,7 +1327,7 @@ bool __skb_flow_dissect(const struct net *net,
1258 case NEXTHDR_FRAGMENT: {
1259 struct frag_hdr _fh, *fh;
1260
1261 - if (proto != htons(ETH_P_IPV6))
1262 + if (proto != HTONS(ETH_P_IPV6))
1263 break;
1264
1265 fh = __skb_header_pointer(skb, nhoff, sizeof(_fh),
1266 @@ -1343,7 +1343,7 @@ bool __skb_flow_dissect(const struct net *net,
1267 nhoff += sizeof(_fh);
1268 ip_proto = fh->nexthdr;
1269
1270 - if (!(fh->frag_off & htons(IP6_OFFSET))) {
1271 + if (!(fh->frag_off & HTONS(IP6_OFFSET))) {
1272 key_control->flags |= FLOW_DIS_FIRST_FRAG;
1273 if (flags & FLOW_DISSECTOR_F_PARSE_1ST_FRAG) {
1274 fdret = FLOW_DISSECT_RET_IPPROTO_AGAIN;
1275 @@ -1355,7 +1355,7 @@ bool __skb_flow_dissect(const struct net *net,
1276 break;
1277 }
1278 case IPPROTO_IPIP:
1279 - proto = htons(ETH_P_IP);
1280 + proto = HTONS(ETH_P_IP);
1281
1282 key_control->flags |= FLOW_DIS_ENCAPSULATION;
1283 if (flags & FLOW_DISSECTOR_F_STOP_AT_ENCAP) {
1284 @@ -1367,7 +1367,7 @@ bool __skb_flow_dissect(const struct net *net,
1285 break;
1286
1287 case IPPROTO_IPV6:
1288 - proto = htons(ETH_P_IPV6);
1289 + proto = HTONS(ETH_P_IPV6);
1290
1291 key_control->flags |= FLOW_DIS_ENCAPSULATION;
1292 if (flags & FLOW_DISSECTOR_F_STOP_AT_ENCAP) {
1293 @@ -1380,7 +1380,7 @@ bool __skb_flow_dissect(const struct net *net,
1294
1295
1296 case IPPROTO_MPLS:
1297 - proto = htons(ETH_P_MPLS_UC);
1298 + proto = HTONS(ETH_P_MPLS_UC);
1299 fdret = FLOW_DISSECT_RET_PROTO_AGAIN;
1300 break;
1301
1302 diff --git a/net/core/skbuff.c b/net/core/skbuff.c
1303 index c421c8f80925..7fc997fb1048 100644
1304 --- a/net/core/skbuff.c
1305 +++ b/net/core/skbuff.c
1306 @@ -5062,7 +5062,7 @@ static int skb_checksum_setup_ipv6(struct sk_buff *skb, bool recalculate)
1307
1308 hp = OPT_HDR(struct frag_hdr, skb, off);
1309
1310 - if (hp->frag_off & htons(IP6_OFFSET | IP6_MF))
1311 + if (hp->frag_off & HTONS(IP6_OFFSET | IP6_MF))
1312 fragment = true;
1313
1314 nexthdr = hp->nexthdr;
1315 @@ -5104,11 +5104,11 @@ int skb_checksum_setup(struct sk_buff *skb, bool recalculate)
1316 int err;
1317
1318 switch (skb->protocol) {
1319 - case htons(ETH_P_IP):
1320 + case HTONS(ETH_P_IP):
1321 err = skb_checksum_setup_ipv4(skb, recalculate);
1322 break;
1323
1324 - case htons(ETH_P_IPV6):
1325 + case HTONS(ETH_P_IPV6):
1326 err = skb_checksum_setup_ipv6(skb, recalculate);
1327 break;
1328
1329 diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c
1330 index 4106373180c6..4d8adb06e19a 100644
1331 --- a/net/ethernet/eth.c
1332 +++ b/net/ethernet/eth.c
1333 @@ -187,7 +187,7 @@ __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev)
1334 * information.
1335 */
1336 if (unlikely(netdev_uses_dsa(dev)) && dsa_can_decode(skb, dev))
1337 - return htons(ETH_P_XDSA);
1338 + return HTONS(ETH_P_XDSA);
1339
1340 if (likely(eth_proto_is_802_3(eth->h_proto)))
1341 return eth->h_proto;
1342 @@ -200,12 +200,12 @@ __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev)
1343 */
1344 sap = skb_header_pointer(skb, 0, sizeof(*sap), &_service_access_point);
1345 if (sap && *sap == 0xFFFF)
1346 - return htons(ETH_P_802_3);
1347 + return HTONS(ETH_P_802_3);
1348
1349 /*
1350 * Real 802.2 LLC
1351 */
1352 - return htons(ETH_P_802_2);
1353 + return HTONS(ETH_P_802_2);
1354 }
1355 EXPORT_SYMBOL(eth_type_trans);
1356
1357 @@ -238,7 +238,7 @@ int eth_header_cache(const struct neighbour *neigh, struct hh_cache *hh, __be16
1358 eth = (struct ethhdr *)
1359 (((u8 *) hh->hh_data) + (HH_DATA_OFF(sizeof(*eth))));
1360
1361 - if (type == htons(ETH_P_802_3))
1362 + if (type == HTONS(ETH_P_802_3))
1363 return -1;
1364
1365 eth->h_proto = type;
1366 @@ -482,7 +482,7 @@ int eth_gro_complete(struct sk_buff *skb, int nhoff)
1367 EXPORT_SYMBOL(eth_gro_complete);
1368
1369 static struct packet_offload eth_packet_offload __read_mostly = {
1370 - .type = cpu_to_be16(ETH_P_TEB),
1371 + .type = CPU_TO_BE16(ETH_P_TEB),
1372 .priority = 10,
1373 .callbacks = {
1374 .gro_receive = eth_gro_receive,
1375 diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
1376 index 1355e6c0d567..b109e16da76f 100644
1377 --- a/net/ipv4/af_inet.c
1378 +++ b/net/ipv4/af_inet.c
1379 @@ -1372,7 +1372,7 @@ struct sk_buff *inet_gso_segment(struct sk_buff *skb,
1380 fixedid = !!(skb_shinfo(skb)->gso_type & SKB_GSO_TCP_FIXEDID);
1381
1382 /* fixed ID is invalid if DF bit is not set */
1383 - if (fixedid && !(ip_hdr(skb)->frag_off & htons(IP_DF)))
1384 + if (fixedid && !(ip_hdr(skb)->frag_off & HTONS(IP_DF)))
1385 goto out;
1386 }
1387
1388 @@ -1391,7 +1391,7 @@ struct sk_buff *inet_gso_segment(struct sk_buff *skb,
1389 if (udpfrag) {
1390 iph->frag_off = htons(offset >> 3);
1391 if (skb->next)
1392 - iph->frag_off |= htons(IP_MF);
1393 + iph->frag_off |= HTONS(IP_MF);
1394 offset += skb->len - nhoff - ihl;
1395 tot_len = skb->len - nhoff;
1396 } else if (skb_is_gso(skb)) {
1397 @@ -1497,7 +1497,7 @@ struct sk_buff *inet_gro_receive(struct list_head *head, struct sk_buff *skb)
1398 NAPI_GRO_CB(p)->flush |=
1399 (iph->ttl ^ iph2->ttl) |
1400 (iph->tos ^ iph2->tos) |
1401 - ((iph->frag_off ^ iph2->frag_off) & htons(IP_DF));
1402 + ((iph->frag_off ^ iph2->frag_off) & HTONS(IP_DF));
1403
1404 NAPI_GRO_CB(p)->flush |= flush;
1405
1406 @@ -1514,7 +1514,7 @@ struct sk_buff *inet_gro_receive(struct list_head *head, struct sk_buff *skb)
1407 * return 0 or 0xFFFF.
1408 */
1409 if (!NAPI_GRO_CB(p)->is_atomic ||
1410 - !(iph->frag_off & htons(IP_DF))) {
1411 + !(iph->frag_off & HTONS(IP_DF))) {
1412 flush_id ^= NAPI_GRO_CB(p)->count;
1413 flush_id = flush_id ? 0xFFFF : 0;
1414 }
1415 @@ -1528,7 +1528,7 @@ struct sk_buff *inet_gro_receive(struct list_head *head, struct sk_buff *skb)
1416 NAPI_GRO_CB(p)->flush_id |= flush_id;
1417 }
1418
1419 - NAPI_GRO_CB(skb)->is_atomic = !!(iph->frag_off & htons(IP_DF));
1420 + NAPI_GRO_CB(skb)->is_atomic = !!(iph->frag_off & HTONS(IP_DF));
1421 NAPI_GRO_CB(skb)->flush |= flush;
1422 skb_set_network_header(skb, off);
1423 /* The above will be needed by the transport layer if there is one
1424 @@ -1612,7 +1612,7 @@ int inet_gro_complete(struct sk_buff *skb, int nhoff)
1425 int err = -ENOSYS;
1426
1427 if (skb->encapsulation) {
1428 - skb_set_inner_protocol(skb, cpu_to_be16(ETH_P_IP));
1429 + skb_set_inner_protocol(skb, CPU_TO_BE16(ETH_P_IP));
1430 skb_set_inner_network_header(skb, nhoff);
1431 }
1432
1433 @@ -1892,7 +1892,7 @@ static int ipv4_proc_init(void);
1434 */
1435
1436 static struct packet_offload ip_packet_offload __read_mostly = {
1437 - .type = cpu_to_be16(ETH_P_IP),
1438 + .type = CPU_TO_BE16(ETH_P_IP),
1439 .callbacks = {
1440 .gso_segment = inet_gso_segment,
1441 .gro_receive = inet_gro_receive,
1442 @@ -1932,7 +1932,7 @@ static int __init ipv4_offload_init(void)
1443 fs_initcall(ipv4_offload_init);
1444
1445 static struct packet_type ip_packet_type __read_mostly = {
1446 - .type = cpu_to_be16(ETH_P_IP),
1447 + .type = CPU_TO_BE16(ETH_P_IP),
1448 .func = ip_rcv,
1449 .list_func = ip_list_rcv,
1450 };
1451 diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
1452 index 922dd73e5740..736b0b21258d 100644
1453 --- a/net/ipv4/arp.c
1454 +++ b/net/ipv4/arp.c
1455 @@ -152,7 +152,7 @@ static const struct neigh_ops arp_direct_ops = {
1456 struct neigh_table arp_tbl = {
1457 .family = AF_INET,
1458 .key_len = 4,
1459 - .protocol = cpu_to_be16(ETH_P_IP),
1460 + .protocol = CPU_TO_BE16(ETH_P_IP),
1461 .hash = arp_hash,
1462 .key_eq = arp_key_eq,
1463 .constructor = arp_constructor,
1464 @@ -544,7 +544,7 @@ struct sk_buff *arp_create(int type, int ptype, __be32 dest_ip,
1465 skb_reset_network_header(skb);
1466 arp = skb_put(skb, arp_hdr_len(dev));
1467 skb->dev = dev;
1468 - skb->protocol = htons(ETH_P_ARP);
1469 + skb->protocol = HTONS(ETH_P_ARP);
1470 if (!src_hw)
1471 src_hw = dev->dev_addr;
1472 if (!dest_hw)
1473 @@ -568,28 +568,28 @@ struct sk_buff *arp_create(int type, int ptype, __be32 dest_ip,
1474 */
1475 switch (dev->type) {
1476 default:
1477 - arp->ar_hrd = htons(dev->type);
1478 - arp->ar_pro = htons(ETH_P_IP);
1479 + arp->ar_hrd = HTONS(dev->type);
1480 + arp->ar_pro = HTONS(ETH_P_IP);
1481 break;
1482
1483 #if IS_ENABLED(CONFIG_AX25)
1484 case ARPHRD_AX25:
1485 - arp->ar_hrd = htons(ARPHRD_AX25);
1486 - arp->ar_pro = htons(AX25_P_IP);
1487 + arp->ar_hrd = HTONS(ARPHRD_AX25);
1488 + arp->ar_pro = HTONS(AX25_P_IP);
1489 break;
1490
1491 #if IS_ENABLED(CONFIG_NETROM)
1492 case ARPHRD_NETROM:
1493 - arp->ar_hrd = htons(ARPHRD_NETROM);
1494 - arp->ar_pro = htons(AX25_P_IP);
1495 + arp->ar_hrd = HTONS(ARPHRD_NETROM);
1496 + arp->ar_pro = HTONS(AX25_P_IP);
1497 break;
1498 #endif
1499 #endif
1500
1501 #if IS_ENABLED(CONFIG_FDDI)
1502 case ARPHRD_FDDI:
1503 - arp->ar_hrd = htons(ARPHRD_ETHER);
1504 - arp->ar_pro = htons(ETH_P_IP);
1505 + arp->ar_hrd = HTONS(ARPHRD_ETHER);
1506 + arp->ar_pro = HTONS(ETH_P_IP);
1507 break;
1508 #endif
1509 }
1510 @@ -654,7 +654,7 @@ static bool arp_is_garp(struct net *net, struct net_device *dev,
1511 /* Gratuitous ARP _replies_ also require target hwaddr to be
1512 * the same as source.
1513 */
1514 - if (is_garp && ar_op == htons(ARPOP_REPLY))
1515 + if (is_garp && ar_op == HTONS(ARPOP_REPLY))
1516 is_garp =
1517 /* IPv4 over IEEE 1394 doesn't provide target
1518 * hardware address field in its ARP payload.
1519 @@ -701,7 +701,7 @@ static int arp_process(struct net *net, struct sock *sk, struct sk_buff *skb)
1520
1521 switch (dev_type) {
1522 default:
1523 - if (arp->ar_pro != htons(ETH_P_IP) ||
1524 + if (arp->ar_pro != HTONS(ETH_P_IP) ||
1525 htons(dev_type) != arp->ar_hrd)
1526 goto out_free_skb;
1527 break;
1528 @@ -717,27 +717,27 @@ static int arp_process(struct net *net, struct sock *sk, struct sk_buff *skb)
1529 * however, to be more robust, we'll accept both 1 (Ethernet)
1530 * or 6 (IEEE 802.2)
1531 */
1532 - if ((arp->ar_hrd != htons(ARPHRD_ETHER) &&
1533 - arp->ar_hrd != htons(ARPHRD_IEEE802)) ||
1534 - arp->ar_pro != htons(ETH_P_IP))
1535 + if ((arp->ar_hrd != HTONS(ARPHRD_ETHER) &&
1536 + arp->ar_hrd != HTONS(ARPHRD_IEEE802)) ||
1537 + arp->ar_pro != HTONS(ETH_P_IP))
1538 goto out_free_skb;
1539 break;
1540 case ARPHRD_AX25:
1541 - if (arp->ar_pro != htons(AX25_P_IP) ||
1542 - arp->ar_hrd != htons(ARPHRD_AX25))
1543 + if (arp->ar_pro != HTONS(AX25_P_IP) ||
1544 + arp->ar_hrd != HTONS(ARPHRD_AX25))
1545 goto out_free_skb;
1546 break;
1547 case ARPHRD_NETROM:
1548 - if (arp->ar_pro != htons(AX25_P_IP) ||
1549 - arp->ar_hrd != htons(ARPHRD_NETROM))
1550 + if (arp->ar_pro != HTONS(AX25_P_IP) ||
1551 + arp->ar_hrd != HTONS(ARPHRD_NETROM))
1552 goto out_free_skb;
1553 break;
1554 }
1555
1556 /* Understand only these message types */
1557
1558 - if (arp->ar_op != htons(ARPOP_REPLY) &&
1559 - arp->ar_op != htons(ARPOP_REQUEST))
1560 + if (arp->ar_op != HTONS(ARPOP_REPLY) &&
1561 + arp->ar_op != HTONS(ARPOP_REQUEST))
1562 goto out_free_skb;
1563
1564 /*
1565 @@ -797,14 +797,14 @@ static int arp_process(struct net *net, struct sock *sk, struct sk_buff *skb)
1566 * cache.
1567 */
1568
1569 - if (arp->ar_op == htons(ARPOP_REQUEST) && skb_metadata_dst(skb))
1570 + if (arp->ar_op == HTONS(ARPOP_REQUEST) && skb_metadata_dst(skb))
1571 reply_dst = (struct dst_entry *)
1572 iptunnel_metadata_reply(skb_metadata_dst(skb),
1573 GFP_ATOMIC);
1574
1575 /* Special case: IPv4 duplicate address detection packet (RFC2131) */
1576 if (sip == 0) {
1577 - if (arp->ar_op == htons(ARPOP_REQUEST) &&
1578 + if (arp->ar_op == HTONS(ARPOP_REQUEST) &&
1579 inet_addr_type_dev_table(net, dev, tip) == RTN_LOCAL &&
1580 !arp_ignore(in_dev, sip, tip))
1581 arp_send_dst(ARPOP_REPLY, ETH_P_ARP, sip, dev, tip,
1582 @@ -812,7 +812,7 @@ static int arp_process(struct net *net, struct sock *sk, struct sk_buff *skb)
1583 goto out_consume_skb;
1584 }
1585
1586 - if (arp->ar_op == htons(ARPOP_REQUEST) &&
1587 + if (arp->ar_op == HTONS(ARPOP_REQUEST) &&
1588 ip_route_input_noref(skb, tip, sip, 0, dev) == 0) {
1589
1590 rt = skb_rtable(skb);
1591 @@ -879,7 +879,7 @@ static int arp_process(struct net *net, struct sock *sk, struct sk_buff *skb)
1592 */
1593 if (!n &&
1594 (is_garp ||
1595 - (arp->ar_op == htons(ARPOP_REPLY) &&
1596 + (arp->ar_op == HTONS(ARPOP_REPLY) &&
1597 (addr_type == RTN_UNICAST ||
1598 (addr_type < 0 &&
1599 /* postpone calculation to as late as possible */
1600 @@ -905,7 +905,7 @@ static int arp_process(struct net *net, struct sock *sk, struct sk_buff *skb)
1601 /* Broadcast replies and request packets
1602 do not assert neighbour reachability.
1603 */
1604 - if (arp->ar_op != htons(ARPOP_REPLY) ||
1605 + if (arp->ar_op != HTONS(ARPOP_REPLY) ||
1606 skb->pkt_type != PACKET_HOST)
1607 state = NUD_STALE;
1608 neigh_update(n, sha, state,
1609 @@ -1286,7 +1286,7 @@ void arp_ifdown(struct net_device *dev)
1610 */
1611
1612 static struct packet_type arp_packet_type __read_mostly = {
1613 - .type = cpu_to_be16(ETH_P_ARP),
1614 + .type = CPU_TO_BE16(ETH_P_ARP),
1615 .func = arp_rcv,
1616 };
1617
1618 diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
1619 index 802f5111805a..43d5eb5dce95 100644
1620 --- a/net/ipv6/af_inet6.c
1621 +++ b/net/ipv6/af_inet6.c
1622 @@ -864,7 +864,7 @@ bool ipv6_opt_accepted(const struct sock *sk, const struct sk_buff *skb,
1623 EXPORT_SYMBOL_GPL(ipv6_opt_accepted);
1624
1625 static struct packet_type ipv6_packet_type __read_mostly = {
1626 - .type = cpu_to_be16(ETH_P_IPV6),
1627 + .type = CPU_TO_BE16(ETH_P_IPV6),
1628 .func = ipv6_rcv,
1629 .list_func = ipv6_list_rcv,
1630 };
1631 diff --git a/net/ipv6/ip6_offload.c b/net/ipv6/ip6_offload.c
1632 index 1b9827ff8ccf..7cc37c8d7bd9 100644
1633 --- a/net/ipv6/ip6_offload.c
1634 +++ b/net/ipv6/ip6_offload.c
1635 @@ -142,7 +142,7 @@ static struct sk_buff *ipv6_gso_segment(struct sk_buff *skb,
1636 fptr = (struct frag_hdr *)((u8 *)ipv6h + err);
1637 fptr->frag_off = htons(offset);
1638 if (skb->next)
1639 - fptr->frag_off |= htons(IP6_MF);
1640 + fptr->frag_off |= HTONS(IP6_MF);
1641 offset += (ntohs(ipv6h->payload_len) -
1642 sizeof(struct frag_hdr));
1643 }
1644 @@ -325,7 +325,7 @@ INDIRECT_CALLABLE_SCOPE int ipv6_gro_complete(struct sk_buff *skb, int nhoff)
1645 int err = -ENOSYS;
1646
1647 if (skb->encapsulation) {
1648 - skb_set_inner_protocol(skb, cpu_to_be16(ETH_P_IPV6));
1649 + skb_set_inner_protocol(skb, CPU_TO_BE16(ETH_P_IPV6));
1650 skb_set_inner_network_header(skb, nhoff);
1651 }
1652
1653 @@ -368,7 +368,7 @@ static int ip4ip6_gro_complete(struct sk_buff *skb, int nhoff)
1654 }
1655
1656 static struct packet_offload ipv6_packet_offload __read_mostly = {
1657 - .type = cpu_to_be16(ETH_P_IPV6),
1658 + .type = CPU_TO_BE16(ETH_P_IPV6),
1659 .callbacks = {
1660 .gso_segment = ipv6_gso_segment,
1661 .gro_receive = ipv6_gro_receive,
1662 diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
1663 index c467c6419893..bab012275a3b 100644
1664 --- a/net/ipv6/ndisc.c
1665 +++ b/net/ipv6/ndisc.c
1666 @@ -109,7 +109,7 @@ static const struct neigh_ops ndisc_direct_ops = {
1667 struct neigh_table nd_tbl = {
1668 .family = AF_INET6,
1669 .key_len = sizeof(struct in6_addr),
1670 - .protocol = cpu_to_be16(ETH_P_IPV6),
1671 + .protocol = CPU_TO_BE16(ETH_P_IPV6),
1672 .hash = ndisc_hash,
1673 .key_eq = ndisc_key_eq,
1674 .constructor = ndisc_constructor,
1675 @@ -424,7 +424,7 @@ static struct sk_buff *ndisc_alloc_skb(struct net_device *dev,
1676 return NULL;
1677 }
1678
1679 - skb->protocol = htons(ETH_P_IPV6);
1680 + skb->protocol = HTONS(ETH_P_IPV6);
1681 skb->dev = dev;
1682
1683 skb_reserve(skb, hlen + sizeof(struct ipv6hdr));
1684 diff --git a/net/sched/sch_dsmark.c b/net/sched/sch_dsmark.c
1685 index cd2748e2d4a2..b8cf2270b49e 100644
1686 --- a/net/sched/sch_dsmark.c
1687 +++ b/net/sched/sch_dsmark.c
1688 @@ -212,7 +212,7 @@ static int dsmark_enqueue(struct sk_buff *skb, struct Qdisc *sch,
1689 int wlen = skb_network_offset(skb);
1690
1691 switch (skb_protocol(skb, true)) {
1692 - case htons(ETH_P_IP):
1693 + case HTONS(ETH_P_IP):
1694 wlen += sizeof(struct iphdr);
1695 if (!pskb_may_pull(skb, wlen) ||
1696 skb_try_make_writable(skb, wlen))
1697 @@ -222,7 +222,7 @@ static int dsmark_enqueue(struct sk_buff *skb, struct Qdisc *sch,
1698 & ~INET_ECN_MASK;
1699 break;
1700
1701 - case htons(ETH_P_IPV6):
1702 + case HTONS(ETH_P_IPV6):
1703 wlen += sizeof(struct ipv6hdr);
1704 if (!pskb_may_pull(skb, wlen) ||
1705 skb_try_make_writable(skb, wlen))
1706 @@ -305,11 +305,11 @@ static struct sk_buff *dsmark_dequeue(struct Qdisc *sch)
1707 pr_debug("index %d->%d\n", skb->tc_index, index);
1708
1709 switch (skb_protocol(skb, true)) {
1710 - case htons(ETH_P_IP):
1711 + case HTONS(ETH_P_IP):
1712 ipv4_change_dsfield(ip_hdr(skb), p->mv[index].mask,
1713 p->mv[index].value);
1714 break;
1715 - case htons(ETH_P_IPV6):
1716 + case HTONS(ETH_P_IPV6):
1717 ipv6_change_dsfield(ipv6_hdr(skb), p->mv[index].mask,
1718 p->mv[index].value);
1719 break;
1720 diff --git a/scripts/cc-version.sh b/scripts/cc-version.sh
1721 index 3f2ee885b116..06322f75a109 100755
1722 --- a/scripts/cc-version.sh
1723 +++ b/scripts/cc-version.sh
1724 @@ -8,6 +8,7 @@ set -e
1725
1726 # When you raise the minimum compiler version, please update
1727 # Documentation/process/changes.rst as well.
1728 +# XXX: gcc 4.7.4 is actually C gcc not C++ gcc then treatment is different
1729 gcc_min_version=4.9.0
1730 clang_min_version=10.0.1
1731 icc_min_version=16.0.3 # temporary
1732 @@ -70,6 +71,7 @@ esac
1733 cversion=$(get_canonical_version $version)
1734 min_cversion=$(get_canonical_version $min_version)
1735
1736 +if [ "$cversion" -ne 40704 ]; then
1737 if [ "$cversion" -lt "$min_cversion" ]; then
1738 echo >&2 "***"
1739 echo >&2 "*** Compiler is too old."
1740 @@ -78,5 +80,12 @@ if [ "$cversion" -lt "$min_cversion" ]; then
1741 echo >&2 "***"
1742 exit 1
1743 fi
1744 +else
1745 + echo >&2 "***"
1746 + echo >&2 "*** You must patch your gcc compiler $version with:"
1747 + echo >&2 "*** https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145"
1748 + echo >&2 "*** https://gcc.gnu.org/legacy-ml/gcc-patches/2012-04/msg00452.html"
1749 + echo >&2 "***"
1750 +fi
1751
1752 echo $name $cversion
File builders/bootstrap/linux-5.12.1/builder.sh added (mode: 100644) (index 0000000..04856ce)
1 . $nyan_root/conf.bootstrap.sh
2 . $nyan_root/utils.sh
3 . $nyan_root/builders/bootstrap/linux/src_prolog.sh
4 ################################################################################
5 PATH_SAVED=$PATH
6 # must have sh in PATH for some makefile scripts
7 export PATH=$PATH:/bin:$bootstrap_target_cross_toolchain/bin:/nyan/busybox/current/sbin:/nyan/busybox/current/bin
8 if test -e /bin/bash;then
9 mv /bin/bash /bin/bash.HIDDEN
10 fi
11 #-------------------------------------------------------------------------------
12 # the config in the linux directory
13 cp -f $nyan_root/builders/bootstrap/linux-$version/config $pkg_dir/nyan_config
14 sed -r -e "/^CONFIG_INITRAMFS_SOURCE/ c\\
15 CONFIG_INITRAMFS_SOURCE=\"$pkg_dir/nyan_ramfs.cpio\"" -i $pkg_dir/nyan_config
16 # we don't have modules yet, give an empty one to kbuild for now
17 touch $pkg_dir/nyan_ramfs.cpio
18 #-------------------------------------------------------------------------------
19 printf 'patching linux...\n'
20 $nyan_root/builders/bootstrap/linux-$version/patches.sh $nyan_root $pkg_dir
21 printf 'patching done\n'
22 #-------------------------------------------------------------------------------
23 release=$($nyan_root/builders/bootstrap/linux/release.sh "$nyan_root" "$pkg_dir/nyan_config" "$pkg_dir")
24 printf "linux release is \"$release\"\n"
25 #-------------------------------------------------------------------------------
26 export KCONFIG_CONFIG=$pkg_dir/nyan_config
27 export "HOSTCC=$bootstrap_build_cc"
28 export "HOSTCFLAGS=$bootstrap_build_cflags $bootstrap_build_cppflags"
29 export "HOSTLDFLAGS=$bootstrap_build_ccld_flags"
30 export "ARCH=$bootstrap_target_linux_arch"
31 export CROSS_COMPILE=$bootstrap_target_gnu_triple-
32 export X86_GAS=$bootstrap_target_gnu_triple-as
33 # linux sdk wants depmod in /sbin
34 if test ! -x /sbin/depmod; then
35 printf 'you are missing the depmod utiliy in /sbin, using the one in PATH\n'
36 find_in_path depmod
37 if test ! $r; then
38 printf 'no depmod utility found in PATH, linux modules SDK will fail, exiting\n'
39 exit 1
40 fi
41 mkdir -p /sbin
42 printf 'linking %s to /sbin/depmod, will be removed on exiting\n' $r
43 ln -sf $r /sbin/depmod
44 depmod_installed=1
45 fi
46 rm -Rf "$bootstrap_target_sysroot/lib/modules/$release"
47 # HOSTCC environment variable seems ignored, overridding makefile variable
48 make -j $threads_n vmlinux "HOSTCC=$HOSTCC"
49 make -j $threads_n modules "HOSTCC=$HOSTCC"
50 make -j $threads_n modules_install "HOSTCC=$HOSTCC" \
51 INSTALL_MOD_PATH=$bootstrap_target_sysroot
52 #-------------------------------------------------------------------------------
53 # AuthenticAMD.bin firmware building
54 printf 'concatening AMD cpu firmware -- START\n'
55 firmware_dir=$bootstrap_target_sysroot/lib/firmware/amd-ucode
56 if test ! -d $firmware_dir; then
57 printf "ERROR:missing linux-firmware \"$firmware_dir\"\n"
58 exit 1
59 fi
60 cat $(find $firmware_dir -name '*.bin' | sort) >$pkg_dir/AuthenticAMD.bin
61 printf 'concatening AMD cpu firmware -- END\n'
62 #-------------------------------------------------------------------------------
63 # cpio list generation
64 printf 'cpio list generation for ramfs -- START\n'
65 cp -f $pkg_dir/usr/default_cpio_list $pkg_dir/nyan_ramfs
66 sed -r -e "s:PKG_DIR:$pkg_dir:g" \
67 -e "s:PKGS_DIR_ROOT:$pkgs_dir_root:g" \
68 -e "s:LINUX_RELEASE:$release:g" \
69 -e "s:BUILDER_DIR:$nyan_root/builders/bootstrap/$pkg_name:g" \
70 -e "s:SYSROOT_DIR:$bootstrap_target_sysroot:g" \
71 <$nyan_root/builders/bootstrap/$pkg_name/nyan_ramfs.in \
72 >>$pkg_dir/nyan_ramfs
73 printf 'cpio list generation for ramfs -- END\n'
74 #-------------------------------------------------------------------------------
75 # init generation, basically craming the root uuid
76 printf 'init generation for ramfs -- START\n'
77 sed -r -e "/^initramfs_root_uuid/ c\\
78 initramfs_root_uuid=$bootstrap_target_sysroot_uuid" \
79 <$nyan_root/builders/bootstrap/$pkg_name/init.in \
80 >$pkgs_dir_root/init
81 printf 'init generation for ramfs -- END\n'
82 #-------------------------------------------------------------------------------
83 # switch from the cpio archive to cpio list
84 rm $pkg_dir/nyan_ramfs.cpio
85 sed -r -e "/^CONFIG_INITRAMFS_SOURCE/ c\\
86 CONFIG_INITRAMFS_SOURCE=\"$pkg_dir/nyan_ramfs\"" -i $pkg_dir/nyan_config
87 #-------------------------------------------------------------------------------
88 # HOSTCC environment variable seems ignored, overridding makefile variable
89 make -j $threads_n bzImage "HOSTCC=$HOSTCC"
90 unset KCONFIG_CONFIG
91 unset HOSTCC
92 unset HOSTCFLAGS
93 unset HOSTLDFLAGS
94 unset ARCH
95 unset CROSS_COMPILE
96 unset X86_GAS
97 #-------------------------------------------------------------------------------
98 # install the kernel with the baked initramfs as an UEFI bootloader
99 mkdir -p $bootstrap_target_efi/EFI/BOOT
100 cp -f $pkg_dir/arch/$bootstrap_target_linux_arch_dir/boot/bzImage $bootstrap_target_efi/EFI/BOOT/$bootstrap_target_efi_boot_exe
101 #-------------------------------------------------------------------------------
102 export PATH=$PATH_SAVED
103 rm -f $pkgs_dir_root/init
104 if test $depmod_installed; then
105 rm -f '/sbin/depmod'
106 rmdir /sbin || true
107 fi
108 if test -e /bin/bash.HIDDEN; then
109 mv /bin/bash.HIDDEN /bin/bash
110 fi
111 ################################################################################
112 . $nyan_root/builders/bootstrap/linux/src_epilog.sh
File builders/bootstrap/linux-5.12.1/config added (mode: 100644) (index 0000000..cd2dc7a)
1 #
2 # Automatically generated file; DO NOT EDIT.
3 # Linux/x86_64 5.12.1 Kernel Configuration
4 #
5 CONFIG_CC_VERSION_TEXT="x86_64-nyan0-linux-gnu-gcc (GCC) 4.7.4"
6 CONFIG_CC_IS_GCC=y
7 CONFIG_GCC_VERSION=40704
8 CONFIG_CLANG_VERSION=0
9 CONFIG_LD_IS_BFD=y
10 CONFIG_LD_VERSION=23601
11 CONFIG_LLD_VERSION=0
12 CONFIG_CC_HAS_ASM_GOTO=y
13 CONFIG_IRQ_WORK=y
14 CONFIG_BUILDTIME_TABLE_SORT=y
15 CONFIG_THREAD_INFO_IN_TASK=y
16
17 #
18 # General setup
19 #
20 CONFIG_INIT_ENV_ARG_LIMIT=32
21 # CONFIG_COMPILE_TEST is not set
22 CONFIG_LOCALVERSION=""
23 # CONFIG_LOCALVERSION_AUTO is not set
24 CONFIG_BUILD_SALT=""
25 CONFIG_HAVE_KERNEL_GZIP=y
26 CONFIG_HAVE_KERNEL_BZIP2=y
27 CONFIG_HAVE_KERNEL_LZMA=y
28 CONFIG_HAVE_KERNEL_XZ=y
29 CONFIG_HAVE_KERNEL_LZO=y
30 CONFIG_HAVE_KERNEL_LZ4=y
31 CONFIG_HAVE_KERNEL_ZSTD=y
32 CONFIG_KERNEL_GZIP=y
33 # CONFIG_KERNEL_BZIP2 is not set
34 # CONFIG_KERNEL_LZMA is not set
35 # CONFIG_KERNEL_XZ is not set
36 # CONFIG_KERNEL_LZO is not set
37 # CONFIG_KERNEL_LZ4 is not set
38 # CONFIG_KERNEL_ZSTD is not set
39 CONFIG_DEFAULT_INIT=""
40 CONFIG_DEFAULT_HOSTNAME="(none)"
41 CONFIG_SWAP=y
42 CONFIG_SYSVIPC=y
43 CONFIG_SYSVIPC_SYSCTL=y
44 # CONFIG_POSIX_MQUEUE is not set
45 # CONFIG_WATCH_QUEUE is not set
46 # CONFIG_CROSS_MEMORY_ATTACH is not set
47 # CONFIG_USELIB is not set
48 # CONFIG_AUDIT is not set
49 CONFIG_HAVE_ARCH_AUDITSYSCALL=y
50
51 #
52 # IRQ subsystem
53 #
54 CONFIG_GENERIC_IRQ_PROBE=y
55 CONFIG_GENERIC_IRQ_SHOW=y
56 CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
57 CONFIG_GENERIC_PENDING_IRQ=y
58 CONFIG_GENERIC_IRQ_MIGRATION=y
59 CONFIG_HARDIRQS_SW_RESEND=y
60 CONFIG_IRQ_DOMAIN=y
61 CONFIG_IRQ_DOMAIN_HIERARCHY=y
62 CONFIG_GENERIC_MSI_IRQ=y
63 CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
64 CONFIG_IRQ_MSI_IOMMU=y
65 CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
66 CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
67 CONFIG_IRQ_FORCED_THREADING=y
68 CONFIG_SPARSE_IRQ=y
69 # end of IRQ subsystem
70
71 CONFIG_CLOCKSOURCE_WATCHDOG=y
72 CONFIG_ARCH_CLOCKSOURCE_INIT=y
73 CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
74 CONFIG_GENERIC_TIME_VSYSCALL=y
75 CONFIG_GENERIC_CLOCKEVENTS=y
76 CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
77 CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
78 CONFIG_GENERIC_CMOS_UPDATE=y
79 CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
80 CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
81
82 #
83 # Timers subsystem
84 #
85 CONFIG_TICK_ONESHOT=y
86 CONFIG_HZ_PERIODIC=y
87 # CONFIG_NO_HZ_IDLE is not set
88 # CONFIG_NO_HZ_FULL is not set
89 # CONFIG_NO_HZ is not set
90 CONFIG_HIGH_RES_TIMERS=y
91 # end of Timers subsystem
92
93 # CONFIG_PREEMPT_NONE is not set
94 # CONFIG_PREEMPT_VOLUNTARY is not set
95 CONFIG_PREEMPT=y
96 CONFIG_PREEMPT_COUNT=y
97 CONFIG_PREEMPTION=y
98 CONFIG_PREEMPT_DYNAMIC=y
99
100 #
101 # CPU/Task time and stats accounting
102 #
103 CONFIG_TICK_CPU_ACCOUNTING=y
104 # CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
105 # CONFIG_IRQ_TIME_ACCOUNTING is not set
106 # CONFIG_BSD_PROCESS_ACCT is not set
107 # CONFIG_TASKSTATS is not set
108 # CONFIG_PSI is not set
109 # end of CPU/Task time and stats accounting
110
111 # CONFIG_CPU_ISOLATION is not set
112
113 #
114 # RCU Subsystem
115 #
116 CONFIG_TREE_RCU=y
117 CONFIG_PREEMPT_RCU=y
118 # CONFIG_RCU_EXPERT is not set
119 CONFIG_SRCU=y
120 CONFIG_TREE_SRCU=y
121 CONFIG_TASKS_RCU_GENERIC=y
122 CONFIG_TASKS_RCU=y
123 CONFIG_RCU_STALL_COMMON=y
124 CONFIG_RCU_NEED_SEGCBLIST=y
125 # end of RCU Subsystem
126
127 # CONFIG_IKCONFIG is not set
128 # CONFIG_IKHEADERS is not set
129 CONFIG_LOG_BUF_SHIFT=18
130 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
131 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
132 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
133
134 #
135 # Scheduler features
136 #
137 # CONFIG_UCLAMP_TASK is not set
138 # end of Scheduler features
139
140 CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
141 CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
142 CONFIG_CC_HAS_INT128=y
143 CONFIG_ARCH_SUPPORTS_INT128=y
144 CONFIG_NUMA_BALANCING=y
145 CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
146 # CONFIG_CGROUPS is not set
147 # CONFIG_NAMESPACES is not set
148 # CONFIG_CHECKPOINT_RESTORE is not set
149 # CONFIG_SCHED_AUTOGROUP is not set
150 # CONFIG_SYSFS_DEPRECATED is not set
151 # CONFIG_RELAY is not set
152 CONFIG_BLK_DEV_INITRD=y
153 CONFIG_INITRAMFS_SOURCE="UGCOERUHETNAUHNAETOHUETNAUHETNAUHEAOTNUHO"
154 CONFIG_INITRAMFS_ROOT_UID=0
155 CONFIG_INITRAMFS_ROOT_GID=0
156 CONFIG_RD_GZIP=y
157 # CONFIG_RD_BZIP2 is not set
158 # CONFIG_RD_LZMA is not set
159 # CONFIG_RD_XZ is not set
160 # CONFIG_RD_LZO is not set
161 # CONFIG_RD_LZ4 is not set
162 # CONFIG_RD_ZSTD is not set
163 CONFIG_INITRAMFS_COMPRESSION_GZIP=y
164 # CONFIG_INITRAMFS_COMPRESSION_NONE is not set
165 # CONFIG_BOOT_CONFIG is not set
166 CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
167 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
168 CONFIG_LD_ORPHAN_WARN=y
169 CONFIG_SYSCTL=y
170 CONFIG_HAVE_UID16=y
171 CONFIG_SYSCTL_EXCEPTION_TRACE=y
172 CONFIG_HAVE_PCSPKR_PLATFORM=y
173 CONFIG_BPF=y
174 CONFIG_EXPERT=y
175 # CONFIG_UID16 is not set
176 CONFIG_MULTIUSER=y
177 # CONFIG_SGETMASK_SYSCALL is not set
178 # CONFIG_SYSFS_SYSCALL is not set
179 CONFIG_FHANDLE=y
180 CONFIG_POSIX_TIMERS=y
181 CONFIG_PRINTK=y
182 CONFIG_PRINTK_NMI=y
183 CONFIG_BUG=y
184 CONFIG_ELF_CORE=y
185 # CONFIG_PCSPKR_PLATFORM is not set
186 CONFIG_BASE_FULL=y
187 CONFIG_FUTEX=y
188 CONFIG_FUTEX_PI=y
189 CONFIG_EPOLL=y
190 CONFIG_SIGNALFD=y
191 CONFIG_TIMERFD=y
192 CONFIG_EVENTFD=y
193 CONFIG_SHMEM=y
194 CONFIG_AIO=y
195 CONFIG_IO_URING=y
196 CONFIG_ADVISE_SYSCALLS=y
197 CONFIG_MEMBARRIER=y
198 CONFIG_KALLSYMS=y
199 # CONFIG_KALLSYMS_ALL is not set
200 CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
201 CONFIG_KALLSYMS_BASE_RELATIVE=y
202 # CONFIG_BPF_SYSCALL is not set
203 CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
204 # CONFIG_USERFAULTFD is not set
205 CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
206 # CONFIG_KCMP is not set
207 CONFIG_RSEQ=y
208 # CONFIG_DEBUG_RSEQ is not set
209 CONFIG_EMBEDDED=y
210 CONFIG_HAVE_PERF_EVENTS=y
211 # CONFIG_PC104 is not set
212
213 #
214 # Kernel Performance Events And Counters
215 #
216 CONFIG_PERF_EVENTS=y
217 # CONFIG_DEBUG_PERF_USE_VMALLOC is not set
218 # end of Kernel Performance Events And Counters
219
220 # CONFIG_VM_EVENT_COUNTERS is not set
221 # CONFIG_SLUB_DEBUG is not set
222 CONFIG_COMPAT_BRK=y
223 # CONFIG_SLAB is not set
224 CONFIG_SLUB=y
225 # CONFIG_SLOB is not set
226 # CONFIG_SLAB_MERGE_DEFAULT is not set
227 # CONFIG_SLAB_FREELIST_RANDOM is not set
228 # CONFIG_SLAB_FREELIST_HARDENED is not set
229 # CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
230 CONFIG_SLUB_CPU_PARTIAL=y
231 # CONFIG_PROFILING is not set
232 # end of General setup
233
234 CONFIG_64BIT=y
235 CONFIG_X86_64=y
236 CONFIG_X86=y
237 CONFIG_INSTRUCTION_DECODER=y
238 CONFIG_OUTPUT_FORMAT="elf64-x86-64"
239 CONFIG_LOCKDEP_SUPPORT=y
240 CONFIG_STACKTRACE_SUPPORT=y
241 CONFIG_MMU=y
242 CONFIG_ARCH_MMAP_RND_BITS_MIN=28
243 CONFIG_ARCH_MMAP_RND_BITS_MAX=32
244 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
245 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
246 CONFIG_GENERIC_BUG=y
247 CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
248 CONFIG_GENERIC_CALIBRATE_DELAY=y
249 CONFIG_ARCH_HAS_CPU_RELAX=y
250 CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
251 CONFIG_ARCH_HAS_FILTER_PGPROT=y
252 CONFIG_HAVE_SETUP_PER_CPU_AREA=y
253 CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
254 CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
255 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
256 CONFIG_ARCH_SUSPEND_POSSIBLE=y
257 CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
258 CONFIG_ZONE_DMA32=y
259 CONFIG_AUDIT_ARCH=y
260 CONFIG_HAVE_INTEL_TXT=y
261 CONFIG_X86_64_SMP=y
262 CONFIG_ARCH_SUPPORTS_UPROBES=y
263 CONFIG_FIX_EARLYCON_MEM=y
264 CONFIG_PGTABLE_LEVELS=4
265 CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
266
267 #
268 # Processor type and features
269 #
270 # CONFIG_ZONE_DMA is not set
271 CONFIG_SMP=y
272 CONFIG_X86_FEATURE_NAMES=y
273 CONFIG_X86_X2APIC=y
274 CONFIG_X86_MPPARSE=y
275 # CONFIG_GOLDFISH is not set
276 # CONFIG_RETPOLINE is not set
277 # CONFIG_X86_CPU_RESCTRL is not set
278 # CONFIG_X86_EXTENDED_PLATFORM is not set
279 # CONFIG_X86_INTEL_LPSS is not set
280 CONFIG_X86_AMD_PLATFORM_DEVICE=y
281 # CONFIG_IOSF_MBI is not set
282 CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
283 # CONFIG_SCHED_OMIT_FRAME_POINTER is not set
284 # CONFIG_HYPERVISOR_GUEST is not set
285 # CONFIG_MK8 is not set
286 # CONFIG_MPSC is not set
287 # CONFIG_MCORE2 is not set
288 # CONFIG_MATOM is not set
289 CONFIG_GENERIC_CPU=y
290 CONFIG_X86_INTERNODE_CACHE_SHIFT=6
291 CONFIG_X86_L1_CACHE_SHIFT=6
292 CONFIG_X86_TSC=y
293 CONFIG_X86_CMPXCHG64=y
294 CONFIG_X86_CMOV=y
295 CONFIG_X86_MINIMUM_CPU_FAMILY=64
296 CONFIG_X86_DEBUGCTLMSR=y
297 CONFIG_IA32_FEAT_CTL=y
298 CONFIG_X86_VMX_FEATURE_NAMES=y
299 CONFIG_PROCESSOR_SELECT=y
300 CONFIG_CPU_SUP_INTEL=y
301 CONFIG_CPU_SUP_AMD=y
302 CONFIG_CPU_SUP_HYGON=y
303 CONFIG_CPU_SUP_CENTAUR=y
304 CONFIG_CPU_SUP_ZHAOXIN=y
305 CONFIG_HPET_TIMER=y
306 CONFIG_HPET_EMULATE_RTC=y
307 CONFIG_DMI=y
308 # CONFIG_GART_IOMMU is not set
309 # CONFIG_MAXSMP is not set
310 CONFIG_NR_CPUS_RANGE_BEGIN=2
311 CONFIG_NR_CPUS_RANGE_END=512
312 CONFIG_NR_CPUS_DEFAULT=64
313 CONFIG_NR_CPUS=64
314 CONFIG_SCHED_SMT=y
315 CONFIG_SCHED_MC=y
316 CONFIG_SCHED_MC_PRIO=y
317 CONFIG_X86_LOCAL_APIC=y
318 CONFIG_X86_IO_APIC=y
319 CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
320 CONFIG_X86_MCE=y
321 # CONFIG_X86_MCELOG_LEGACY is not set
322 CONFIG_X86_MCE_INTEL=y
323 CONFIG_X86_MCE_AMD=y
324 CONFIG_X86_MCE_THRESHOLD=y
325
326 #
327 # Performance monitoring
328 #
329 # CONFIG_PERF_EVENTS_INTEL_UNCORE is not set
330 # CONFIG_PERF_EVENTS_INTEL_RAPL is not set
331 # CONFIG_PERF_EVENTS_INTEL_CSTATE is not set
332 # CONFIG_PERF_EVENTS_AMD_POWER is not set
333 # end of Performance monitoring
334
335 # CONFIG_X86_VSYSCALL_EMULATION is not set
336 # CONFIG_X86_IOPL_IOPERM is not set
337 # CONFIG_I8K is not set
338 CONFIG_MICROCODE=y
339 CONFIG_MICROCODE_INTEL=y
340 CONFIG_MICROCODE_AMD=y
341 # CONFIG_MICROCODE_OLD_INTERFACE is not set
342 # CONFIG_X86_MSR is not set
343 # CONFIG_X86_CPUID is not set
344 # CONFIG_X86_5LEVEL is not set
345 CONFIG_X86_DIRECT_GBPAGES=y
346 # CONFIG_AMD_MEM_ENCRYPT is not set
347 CONFIG_NUMA=y
348 # CONFIG_AMD_NUMA is not set
349 CONFIG_X86_64_ACPI_NUMA=y
350 # CONFIG_NUMA_EMU is not set
351 CONFIG_NODES_SHIFT=6
352 CONFIG_ARCH_SPARSEMEM_ENABLE=y
353 CONFIG_ARCH_SPARSEMEM_DEFAULT=y
354 CONFIG_ARCH_SELECT_MEMORY_MODEL=y
355 CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
356 # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
357 CONFIG_X86_RESERVE_LOW=64
358 CONFIG_MTRR=y
359 CONFIG_MTRR_SANITIZER=y
360 CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
361 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
362 CONFIG_X86_PAT=y
363 CONFIG_ARCH_USES_PG_UNCACHED=y
364 # CONFIG_ARCH_RANDOM is not set
365 # CONFIG_X86_SMAP is not set
366 # CONFIG_X86_UMIP is not set
367 # CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS is not set
368 CONFIG_X86_INTEL_TSX_MODE_OFF=y
369 # CONFIG_X86_INTEL_TSX_MODE_ON is not set
370 # CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
371 CONFIG_EFI=y
372 CONFIG_EFI_STUB=y
373 # CONFIG_EFI_MIXED is not set
374 # CONFIG_HZ_100 is not set
375 # CONFIG_HZ_250 is not set
376 # CONFIG_HZ_300 is not set
377 CONFIG_HZ_1000=y
378 CONFIG_HZ=1000
379 CONFIG_SCHED_HRTICK=y
380 # CONFIG_KEXEC is not set
381 # CONFIG_CRASH_DUMP is not set
382 CONFIG_PHYSICAL_START=0x1000000
383 CONFIG_RELOCATABLE=y
384 # CONFIG_RANDOMIZE_BASE is not set
385 CONFIG_PHYSICAL_ALIGN=0x200000
386 CONFIG_HOTPLUG_CPU=y
387 # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
388 # CONFIG_DEBUG_HOTPLUG_CPU0 is not set
389 # CONFIG_COMPAT_VDSO is not set
390 # CONFIG_LEGACY_VSYSCALL_EMULATE is not set
391 CONFIG_LEGACY_VSYSCALL_XONLY=y
392 # CONFIG_LEGACY_VSYSCALL_NONE is not set
393 # CONFIG_CMDLINE_BOOL is not set
394 # CONFIG_MODIFY_LDT_SYSCALL is not set
395 CONFIG_HAVE_LIVEPATCH=y
396 # end of Processor type and features
397
398 CONFIG_ARCH_HAS_ADD_PAGES=y
399 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
400 CONFIG_USE_PERCPU_NUMA_NODE_ID=y
401 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
402 CONFIG_ARCH_ENABLE_THP_MIGRATION=y
403
404 #
405 # Power management and ACPI options
406 #
407 # CONFIG_SUSPEND is not set
408 # CONFIG_HIBERNATION is not set
409 # CONFIG_PM is not set
410 # CONFIG_ENERGY_MODEL is not set
411 CONFIG_ARCH_SUPPORTS_ACPI=y
412 CONFIG_ACPI=y
413 CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
414 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
415 CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
416 # CONFIG_ACPI_DEBUGGER is not set
417 # CONFIG_ACPI_SPCR_TABLE is not set
418 # CONFIG_ACPI_FPDT is not set
419 CONFIG_ACPI_LPIT=y
420 # CONFIG_ACPI_REV_OVERRIDE_POSSIBLE is not set
421 # CONFIG_ACPI_EC_DEBUGFS is not set
422 CONFIG_ACPI_AC=m
423 CONFIG_ACPI_BATTERY=m
424 CONFIG_ACPI_BUTTON=m
425 # CONFIG_ACPI_TINY_POWER_BUTTON is not set
426 CONFIG_ACPI_FAN=m
427 # CONFIG_ACPI_DOCK is not set
428 CONFIG_ACPI_CPU_FREQ_PSS=y
429 CONFIG_ACPI_PROCESSOR_CSTATE=y
430 CONFIG_ACPI_PROCESSOR_IDLE=y
431 CONFIG_ACPI_CPPC_LIB=y
432 CONFIG_ACPI_PROCESSOR=y
433 CONFIG_ACPI_HOTPLUG_CPU=y
434 # CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
435 CONFIG_ACPI_THERMAL=m
436 CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
437 # CONFIG_ACPI_TABLE_UPGRADE is not set
438 # CONFIG_ACPI_DEBUG is not set
439 # CONFIG_ACPI_PCI_SLOT is not set
440 CONFIG_ACPI_CONTAINER=y
441 CONFIG_ACPI_HOTPLUG_IOAPIC=y
442 CONFIG_ACPI_SBS=m
443 # CONFIG_ACPI_HED is not set
444 # CONFIG_ACPI_BGRT is not set
445 # CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
446 CONFIG_ACPI_NUMA=y
447 # CONFIG_ACPI_HMAT is not set
448 CONFIG_HAVE_ACPI_APEI=y
449 CONFIG_HAVE_ACPI_APEI_NMI=y
450 # CONFIG_ACPI_APEI is not set
451 # CONFIG_ACPI_DPTF is not set
452 # CONFIG_ACPI_CONFIGFS is not set
453 # CONFIG_PMIC_OPREGION is not set
454 CONFIG_X86_PM_TIMER=y
455
456 #
457 # CPU Frequency scaling
458 #
459 CONFIG_CPU_FREQ=y
460 CONFIG_CPU_FREQ_GOV_ATTR_SET=y
461 # CONFIG_CPU_FREQ_STAT is not set
462 CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
463 # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
464 # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
465 # CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
466 CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
467 # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
468 # CONFIG_CPU_FREQ_GOV_USERSPACE is not set
469 # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
470 # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
471 CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
472
473 #
474 # CPU frequency scaling drivers
475 #
476 CONFIG_X86_INTEL_PSTATE=y
477 # CONFIG_X86_PCC_CPUFREQ is not set
478 CONFIG_X86_ACPI_CPUFREQ=m
479 # CONFIG_X86_ACPI_CPUFREQ_CPB is not set
480 # CONFIG_X86_POWERNOW_K8 is not set
481 # CONFIG_X86_SPEEDSTEP_CENTRINO is not set
482 # CONFIG_X86_P4_CLOCKMOD is not set
483
484 #
485 # shared options
486 #
487 # end of CPU Frequency scaling
488
489 #
490 # CPU Idle
491 #
492 CONFIG_CPU_IDLE=y
493 CONFIG_CPU_IDLE_GOV_LADDER=y
494 # CONFIG_CPU_IDLE_GOV_MENU is not set
495 # CONFIG_CPU_IDLE_GOV_TEO is not set
496 # end of CPU Idle
497
498 # CONFIG_INTEL_IDLE is not set
499 # end of Power management and ACPI options
500
501 #
502 # Bus options (PCI etc.)
503 #
504 CONFIG_PCI_DIRECT=y
505 # CONFIG_PCI_MMCONFIG is not set
506 # CONFIG_PCI_CNB20LE_QUIRK is not set
507 # CONFIG_ISA_BUS is not set
508 # CONFIG_ISA_DMA_API is not set
509 CONFIG_AMD_NB=y
510 CONFIG_X86_SYSFB=y
511 # end of Bus options (PCI etc.)
512
513 #
514 # Binary Emulations
515 #
516 CONFIG_IA32_EMULATION=y
517 # CONFIG_X86_X32 is not set
518 CONFIG_COMPAT_32=y
519 CONFIG_COMPAT=y
520 CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
521 CONFIG_SYSVIPC_COMPAT=y
522 # end of Binary Emulations
523
524 #
525 # Firmware Drivers
526 #
527 # CONFIG_EDD is not set
528 # CONFIG_FIRMWARE_MEMMAP is not set
529 # CONFIG_DMIID is not set
530 # CONFIG_DMI_SYSFS is not set
531 CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
532 # CONFIG_FW_CFG_SYSFS is not set
533 # CONFIG_GOOGLE_FIRMWARE is not set
534
535 #
536 # EFI (Extensible Firmware Interface) Support
537 #
538 # CONFIG_EFI_VARS is not set
539 CONFIG_EFI_ESRT=y
540 # CONFIG_EFI_FAKE_MEMMAP is not set
541 CONFIG_EFI_RUNTIME_WRAPPERS=y
542 CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
543 # CONFIG_EFI_BOOTLOADER_CONTROL is not set
544 # CONFIG_EFI_CAPSULE_LOADER is not set
545 # CONFIG_EFI_TEST is not set
546 # CONFIG_APPLE_PROPERTIES is not set
547 # CONFIG_RESET_ATTACK_MITIGATION is not set
548 # CONFIG_EFI_RCI2_TABLE is not set
549 # CONFIG_EFI_DISABLE_PCI_DMA is not set
550 # end of EFI (Extensible Firmware Interface) Support
551
552 # CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
553
554 #
555 # Tegra firmware driver
556 #
557 # end of Tegra firmware driver
558 # end of Firmware Drivers
559
560 CONFIG_HAVE_KVM=y
561 # CONFIG_VIRTUALIZATION is not set
562 CONFIG_AS_AVX512=y
563 CONFIG_AS_SHA1_NI=y
564 CONFIG_AS_SHA256_NI=y
565 CONFIG_AS_TPAUSE=y
566
567 #
568 # General architecture-dependent options
569 #
570 CONFIG_HOTPLUG_SMT=y
571 CONFIG_GENERIC_ENTRY=y
572 # CONFIG_KPROBES is not set
573 # CONFIG_JUMP_LABEL is not set
574 # CONFIG_STATIC_CALL_SELFTEST is not set
575 CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
576 CONFIG_ARCH_USE_BUILTIN_BSWAP=y
577 CONFIG_HAVE_IOREMAP_PROT=y
578 CONFIG_HAVE_KPROBES=y
579 CONFIG_HAVE_KRETPROBES=y
580 CONFIG_HAVE_OPTPROBES=y
581 CONFIG_HAVE_KPROBES_ON_FTRACE=y
582 CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
583 CONFIG_HAVE_NMI=y
584 CONFIG_HAVE_ARCH_TRACEHOOK=y
585 CONFIG_HAVE_DMA_CONTIGUOUS=y
586 CONFIG_GENERIC_SMP_IDLE_THREAD=y
587 CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
588 CONFIG_ARCH_HAS_SET_MEMORY=y
589 CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
590 CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
591 CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
592 CONFIG_HAVE_ASM_MODVERSIONS=y
593 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
594 CONFIG_HAVE_RSEQ=y
595 CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
596 CONFIG_HAVE_HW_BREAKPOINT=y
597 CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
598 CONFIG_HAVE_USER_RETURN_NOTIFIER=y
599 CONFIG_HAVE_PERF_EVENTS_NMI=y
600 CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
601 CONFIG_HAVE_PERF_REGS=y
602 CONFIG_HAVE_PERF_USER_STACK_DUMP=y
603 CONFIG_HAVE_ARCH_JUMP_LABEL=y
604 CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
605 CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
606 CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
607 CONFIG_HAVE_CMPXCHG_LOCAL=y
608 CONFIG_HAVE_CMPXCHG_DOUBLE=y
609 CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
610 CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
611 CONFIG_HAVE_ARCH_SECCOMP=y
612 CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
613 # CONFIG_SECCOMP is not set
614 CONFIG_HAVE_ARCH_STACKLEAK=y
615 CONFIG_HAVE_STACKPROTECTOR=y
616 # CONFIG_STACKPROTECTOR is not set
617 CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
618 CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
619 CONFIG_LTO_NONE=y
620 CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
621 CONFIG_HAVE_CONTEXT_TRACKING=y
622 CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y
623 CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
624 CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
625 CONFIG_HAVE_MOVE_PUD=y
626 CONFIG_HAVE_MOVE_PMD=y
627 CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
628 CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
629 CONFIG_HAVE_ARCH_HUGE_VMAP=y
630 CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
631 CONFIG_HAVE_ARCH_SOFT_DIRTY=y
632 CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
633 CONFIG_MODULES_USE_ELF_RELA=y
634 CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
635 CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
636 CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
637 CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
638 CONFIG_HAVE_EXIT_THREAD=y
639 CONFIG_ARCH_MMAP_RND_BITS=28
640 CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
641 CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
642 CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
643 CONFIG_HAVE_STACK_VALIDATION=y
644 CONFIG_OLD_SIGSUSPEND3=y
645 CONFIG_COMPAT_OLD_SIGACTION=y
646 # CONFIG_COMPAT_32BIT_TIME is not set
647 CONFIG_HAVE_ARCH_VMAP_STACK=y
648 # CONFIG_VMAP_STACK is not set
649 CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
650 CONFIG_STRICT_KERNEL_RWX=y
651 CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
652 CONFIG_STRICT_MODULE_RWX=y
653 CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
654 CONFIG_ARCH_HAS_MEM_ENCRYPT=y
655 CONFIG_HAVE_STATIC_CALL=y
656 CONFIG_HAVE_STATIC_CALL_INLINE=y
657 CONFIG_HAVE_PREEMPT_DYNAMIC=y
658 CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
659 CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
660 CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
661
662 #
663 # GCOV-based kernel profiling
664 #
665 CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
666 # end of GCOV-based kernel profiling
667
668 CONFIG_HAVE_GCC_PLUGINS=y
669 # end of General architecture-dependent options
670
671 CONFIG_RT_MUTEXES=y
672 CONFIG_BASE_SMALL=0
673 CONFIG_MODULES=y
674 # CONFIG_MODULE_FORCE_LOAD is not set
675 CONFIG_MODULE_UNLOAD=y
676 CONFIG_MODULE_FORCE_UNLOAD=y
677 # CONFIG_MODVERSIONS is not set
678 # CONFIG_MODULE_SRCVERSION_ALL is not set
679 # CONFIG_MODULE_SIG is not set
680 # CONFIG_MODULE_COMPRESS is not set
681 # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
682 # CONFIG_TRIM_UNUSED_KSYMS is not set
683 CONFIG_MODULES_TREE_LOOKUP=y
684 CONFIG_BLOCK=y
685 CONFIG_BLK_SCSI_REQUEST=y
686 CONFIG_BLK_DEV_BSG=y
687 # CONFIG_BLK_DEV_BSGLIB is not set
688 # CONFIG_BLK_DEV_INTEGRITY is not set
689 # CONFIG_BLK_DEV_ZONED is not set
690 # CONFIG_BLK_CMDLINE_PARSER is not set
691 # CONFIG_BLK_WBT is not set
692 # CONFIG_BLK_SED_OPAL is not set
693 # CONFIG_BLK_INLINE_ENCRYPTION is not set
694
695 #
696 # Partition Types
697 #
698 CONFIG_PARTITION_ADVANCED=y
699 # CONFIG_ACORN_PARTITION is not set
700 # CONFIG_AIX_PARTITION is not set
701 # CONFIG_OSF_PARTITION is not set
702 # CONFIG_AMIGA_PARTITION is not set
703 # CONFIG_ATARI_PARTITION is not set
704 # CONFIG_MAC_PARTITION is not set
705 CONFIG_MSDOS_PARTITION=y
706 # CONFIG_BSD_DISKLABEL is not set
707 # CONFIG_MINIX_SUBPARTITION is not set
708 # CONFIG_SOLARIS_X86_PARTITION is not set
709 # CONFIG_UNIXWARE_DISKLABEL is not set
710 # CONFIG_LDM_PARTITION is not set
711 # CONFIG_SGI_PARTITION is not set
712 # CONFIG_ULTRIX_PARTITION is not set
713 # CONFIG_SUN_PARTITION is not set
714 # CONFIG_KARMA_PARTITION is not set
715 CONFIG_EFI_PARTITION=y
716 # CONFIG_SYSV68_PARTITION is not set
717 # CONFIG_CMDLINE_PARTITION is not set
718 # end of Partition Types
719
720 CONFIG_BLOCK_COMPAT=y
721 CONFIG_BLK_MQ_PCI=y
722
723 #
724 # IO Schedulers
725 #
726 # CONFIG_MQ_IOSCHED_DEADLINE is not set
727 # CONFIG_MQ_IOSCHED_KYBER is not set
728 CONFIG_IOSCHED_BFQ=m
729 # end of IO Schedulers
730
731 CONFIG_UNINLINE_SPIN_UNLOCK=y
732 CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
733 CONFIG_MUTEX_SPIN_ON_OWNER=y
734 CONFIG_RWSEM_SPIN_ON_OWNER=y
735 CONFIG_LOCK_SPIN_ON_OWNER=y
736 CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
737 CONFIG_QUEUED_SPINLOCKS=y
738 CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
739 CONFIG_QUEUED_RWLOCKS=y
740 CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
741 CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
742 CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
743
744 #
745 # Executable file formats
746 #
747 CONFIG_BINFMT_ELF=y
748 CONFIG_COMPAT_BINFMT_ELF=y
749 CONFIG_ELFCORE=y
750 CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
751 CONFIG_BINFMT_SCRIPT=y
752 # CONFIG_BINFMT_MISC is not set
753 CONFIG_COREDUMP=y
754 # end of Executable file formats
755
756 #
757 # Memory Management options
758 #
759 CONFIG_SELECT_MEMORY_MODEL=y
760 CONFIG_SPARSEMEM_MANUAL=y
761 CONFIG_SPARSEMEM=y
762 CONFIG_NEED_MULTIPLE_NODES=y
763 CONFIG_SPARSEMEM_EXTREME=y
764 CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
765 CONFIG_SPARSEMEM_VMEMMAP=y
766 CONFIG_HAVE_FAST_GUP=y
767 # CONFIG_MEMORY_HOTPLUG is not set
768 CONFIG_SPLIT_PTLOCK_CPUS=4
769 CONFIG_COMPACTION=y
770 # CONFIG_PAGE_REPORTING is not set
771 CONFIG_MIGRATION=y
772 CONFIG_PHYS_ADDR_T_64BIT=y
773 CONFIG_VIRT_TO_BUS=y
774 CONFIG_MMU_NOTIFIER=y
775 # CONFIG_KSM is not set
776 CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
777 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
778 # CONFIG_MEMORY_FAILURE is not set
779 CONFIG_TRANSPARENT_HUGEPAGE=y
780 CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
781 # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
782 CONFIG_ARCH_WANTS_THP_SWAP=y
783 CONFIG_THP_SWAP=y
784 # CONFIG_CLEANCACHE is not set
785 # CONFIG_FRONTSWAP is not set
786 # CONFIG_CMA is not set
787 # CONFIG_ZPOOL is not set
788 # CONFIG_ZBUD is not set
789 # CONFIG_ZSMALLOC is not set
790 CONFIG_GENERIC_EARLY_IOREMAP=y
791 # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
792 # CONFIG_IDLE_PAGE_TRACKING is not set
793 CONFIG_ARCH_HAS_PTE_DEVMAP=y
794 # CONFIG_PERCPU_STATS is not set
795
796 #
797 # GUP_TEST needs to have DEBUG_FS enabled
798 #
799 # CONFIG_READ_ONLY_THP_FOR_FS is not set
800 CONFIG_ARCH_HAS_PTE_SPECIAL=y
801 # end of Memory Management options
802
803 CONFIG_NET=y
804
805 #
806 # Networking options
807 #
808 CONFIG_PACKET=m
809 # CONFIG_PACKET_DIAG is not set
810 CONFIG_UNIX=m
811 CONFIG_UNIX_SCM=y
812 # CONFIG_UNIX_DIAG is not set
813 # CONFIG_TLS is not set
814 # CONFIG_XFRM_USER is not set
815 # CONFIG_NET_KEY is not set
816 CONFIG_INET=y
817 # CONFIG_IP_MULTICAST is not set
818 # CONFIG_IP_ADVANCED_ROUTER is not set
819 # CONFIG_IP_PNP is not set
820 # CONFIG_NET_IPIP is not set
821 # CONFIG_NET_IPGRE_DEMUX is not set
822 # CONFIG_SYN_COOKIES is not set
823 # CONFIG_NET_IPVTI is not set
824 # CONFIG_NET_FOU is not set
825 # CONFIG_INET_AH is not set
826 # CONFIG_INET_ESP is not set
827 # CONFIG_INET_IPCOMP is not set
828 # CONFIG_INET_DIAG is not set
829 # CONFIG_TCP_CONG_ADVANCED is not set
830 CONFIG_TCP_CONG_CUBIC=y
831 CONFIG_DEFAULT_TCP_CONG="cubic"
832 # CONFIG_TCP_MD5SIG is not set
833 CONFIG_IPV6=m
834 # CONFIG_IPV6_ROUTER_PREF is not set
835 # CONFIG_IPV6_OPTIMISTIC_DAD is not set
836 # CONFIG_INET6_AH is not set
837 # CONFIG_INET6_ESP is not set
838 # CONFIG_INET6_IPCOMP is not set
839 # CONFIG_IPV6_MIP6 is not set
840 # CONFIG_IPV6_VTI is not set
841 # CONFIG_IPV6_SIT is not set
842 # CONFIG_IPV6_TUNNEL is not set
843 # CONFIG_IPV6_MULTIPLE_TABLES is not set
844 # CONFIG_IPV6_MROUTE is not set
845 # CONFIG_IPV6_SEG6_LWTUNNEL is not set
846 # CONFIG_IPV6_SEG6_HMAC is not set
847 # CONFIG_IPV6_RPL_LWTUNNEL is not set
848 # CONFIG_MPTCP is not set
849 # CONFIG_NETWORK_SECMARK is not set
850 # CONFIG_NETWORK_PHY_TIMESTAMPING is not set
851 # CONFIG_NETFILTER is not set
852 # CONFIG_BPFILTER is not set
853 # CONFIG_IP_DCCP is not set
854 # CONFIG_IP_SCTP is not set
855 # CONFIG_RDS is not set
856 # CONFIG_TIPC is not set
857 # CONFIG_ATM is not set
858 # CONFIG_L2TP is not set
859 # CONFIG_BRIDGE is not set
860 CONFIG_HAVE_NET_DSA=y
861 # CONFIG_NET_DSA is not set
862 # CONFIG_VLAN_8021Q is not set
863 # CONFIG_DECNET is not set
864 # CONFIG_LLC2 is not set
865 # CONFIG_ATALK is not set
866 # CONFIG_X25 is not set
867 # CONFIG_LAPB is not set
868 # CONFIG_PHONET is not set
869 # CONFIG_6LOWPAN is not set
870 # CONFIG_IEEE802154 is not set
871 CONFIG_NET_SCHED=y
872
873 #
874 # Queueing/Scheduling
875 #
876 # CONFIG_NET_SCH_CBQ is not set
877 # CONFIG_NET_SCH_HTB is not set
878 # CONFIG_NET_SCH_HFSC is not set
879 # CONFIG_NET_SCH_PRIO is not set
880 # CONFIG_NET_SCH_MULTIQ is not set
881 # CONFIG_NET_SCH_RED is not set
882 # CONFIG_NET_SCH_SFB is not set
883 # CONFIG_NET_SCH_SFQ is not set
884 # CONFIG_NET_SCH_TEQL is not set
885 # CONFIG_NET_SCH_TBF is not set
886 # CONFIG_NET_SCH_CBS is not set
887 # CONFIG_NET_SCH_ETF is not set
888 # CONFIG_NET_SCH_TAPRIO is not set
889 # CONFIG_NET_SCH_GRED is not set
890 CONFIG_NET_SCH_DSMARK=m
891 # CONFIG_NET_SCH_NETEM is not set
892 # CONFIG_NET_SCH_DRR is not set
893 # CONFIG_NET_SCH_MQPRIO is not set
894 # CONFIG_NET_SCH_SKBPRIO is not set
895 # CONFIG_NET_SCH_CHOKE is not set
896 # CONFIG_NET_SCH_QFQ is not set
897 # CONFIG_NET_SCH_CODEL is not set
898 # CONFIG_NET_SCH_FQ_CODEL is not set
899 # CONFIG_NET_SCH_CAKE is not set
900 # CONFIG_NET_SCH_FQ is not set
901 # CONFIG_NET_SCH_HHF is not set
902 # CONFIG_NET_SCH_PIE is not set
903 # CONFIG_NET_SCH_PLUG is not set
904 # CONFIG_NET_SCH_ETS is not set
905 # CONFIG_NET_SCH_DEFAULT is not set
906
907 #
908 # Classification
909 #
910 # CONFIG_NET_CLS_BASIC is not set
911 # CONFIG_NET_CLS_TCINDEX is not set
912 # CONFIG_NET_CLS_ROUTE4 is not set
913 # CONFIG_NET_CLS_FW is not set
914 # CONFIG_NET_CLS_U32 is not set
915 # CONFIG_NET_CLS_RSVP is not set
916 # CONFIG_NET_CLS_RSVP6 is not set
917 # CONFIG_NET_CLS_FLOW is not set
918 # CONFIG_NET_CLS_BPF is not set
919 # CONFIG_NET_CLS_FLOWER is not set
920 # CONFIG_NET_CLS_MATCHALL is not set
921 # CONFIG_NET_EMATCH is not set
922 # CONFIG_NET_CLS_ACT is not set
923 CONFIG_NET_SCH_FIFO=y
924 # CONFIG_DCB is not set
925 # CONFIG_BATMAN_ADV is not set
926 # CONFIG_OPENVSWITCH is not set
927 # CONFIG_VSOCKETS is not set
928 # CONFIG_NETLINK_DIAG is not set
929 # CONFIG_MPLS is not set
930 # CONFIG_NET_NSH is not set
931 # CONFIG_HSR is not set
932 # CONFIG_NET_SWITCHDEV is not set
933 # CONFIG_NET_L3_MASTER_DEV is not set
934 # CONFIG_QRTR is not set
935 # CONFIG_NET_NCSI is not set
936 CONFIG_RPS=y
937 CONFIG_RFS_ACCEL=y
938 CONFIG_SOCK_RX_QUEUE_MAPPING=y
939 CONFIG_XPS=y
940 CONFIG_NET_RX_BUSY_POLL=y
941 CONFIG_BQL=y
942 # CONFIG_BPF_JIT is not set
943 CONFIG_NET_FLOW_LIMIT=y
944
945 #
946 # Network testing
947 #
948 # CONFIG_NET_PKTGEN is not set
949 # end of Network testing
950 # end of Networking options
951
952 # CONFIG_HAMRADIO is not set
953 # CONFIG_CAN is not set
954 # CONFIG_BT is not set
955 # CONFIG_AF_RXRPC is not set
956 # CONFIG_AF_KCM is not set
957 # CONFIG_WIRELESS is not set
958 # CONFIG_RFKILL is not set
959 # CONFIG_NET_9P is not set
960 # CONFIG_CAIF is not set
961 # CONFIG_CEPH_LIB is not set
962 # CONFIG_NFC is not set
963 # CONFIG_PSAMPLE is not set
964 # CONFIG_NET_IFE is not set
965 # CONFIG_LWTUNNEL is not set
966 # CONFIG_FAILOVER is not set
967 # CONFIG_ETHTOOL_NETLINK is not set
968 CONFIG_HAVE_EBPF_JIT=y
969
970 #
971 # Device Drivers
972 #
973 CONFIG_HAVE_EISA=y
974 # CONFIG_EISA is not set
975 CONFIG_HAVE_PCI=y
976 CONFIG_PCI=y
977 CONFIG_PCI_DOMAINS=y
978 CONFIG_PCIEPORTBUS=y
979 # CONFIG_PCIEAER is not set
980 CONFIG_PCIEASPM=y
981 CONFIG_PCIEASPM_DEFAULT=y
982 # CONFIG_PCIEASPM_POWERSAVE is not set
983 # CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
984 # CONFIG_PCIEASPM_PERFORMANCE is not set
985 # CONFIG_PCIE_PTM is not set
986 CONFIG_PCI_MSI=y
987 CONFIG_PCI_MSI_IRQ_DOMAIN=y
988 CONFIG_PCI_QUIRKS=y
989 # CONFIG_PCI_DEBUG is not set
990 # CONFIG_PCI_STUB is not set
991 CONFIG_PCI_ATS=y
992 CONFIG_PCI_LOCKLESS_CONFIG=y
993 # CONFIG_PCI_IOV is not set
994 CONFIG_PCI_PRI=y
995 CONFIG_PCI_PASID=y
996 CONFIG_PCI_LABEL=y
997 # CONFIG_PCIE_BUS_TUNE_OFF is not set
998 CONFIG_PCIE_BUS_DEFAULT=y
999 # CONFIG_PCIE_BUS_SAFE is not set
1000 # CONFIG_PCIE_BUS_PERFORMANCE is not set
1001 # CONFIG_PCIE_BUS_PEER2PEER is not set
1002 # CONFIG_HOTPLUG_PCI is not set
1003
1004 #
1005 # PCI controller drivers
1006 #
1007 # CONFIG_VMD is not set
1008
1009 #
1010 # DesignWare PCI Core Support
1011 #
1012 # CONFIG_PCIE_DW_PLAT_HOST is not set
1013 # CONFIG_PCI_MESON is not set
1014 # end of DesignWare PCI Core Support
1015
1016 #
1017 # Mobiveil PCIe Core Support
1018 #
1019 # end of Mobiveil PCIe Core Support
1020
1021 #
1022 # Cadence PCIe controllers support
1023 #
1024 # end of Cadence PCIe controllers support
1025 # end of PCI controller drivers
1026
1027 #
1028 # PCI Endpoint
1029 #
1030 # CONFIG_PCI_ENDPOINT is not set
1031 # end of PCI Endpoint
1032
1033 #
1034 # PCI switch controller drivers
1035 #
1036 # CONFIG_PCI_SW_SWITCHTEC is not set
1037 # end of PCI switch controller drivers
1038
1039 # CONFIG_CXL_BUS is not set
1040 # CONFIG_PCCARD is not set
1041 # CONFIG_RAPIDIO is not set
1042
1043 #
1044 # Generic Driver Options
1045 #
1046 # CONFIG_UEVENT_HELPER is not set
1047 CONFIG_DEVTMPFS=y
1048 # CONFIG_DEVTMPFS_MOUNT is not set
1049 CONFIG_STANDALONE=y
1050 CONFIG_PREVENT_FIRMWARE_BUILD=y
1051
1052 #
1053 # Firmware loader
1054 #
1055 CONFIG_FW_LOADER=y
1056 CONFIG_EXTRA_FIRMWARE=""
1057 # CONFIG_FW_LOADER_USER_HELPER is not set
1058 # CONFIG_FW_LOADER_COMPRESS is not set
1059 # end of Firmware loader
1060
1061 # CONFIG_ALLOW_DEV_COREDUMP is not set
1062 # CONFIG_DEBUG_DRIVER is not set
1063 # CONFIG_DEBUG_DEVRES is not set
1064 # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
1065 # CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
1066 CONFIG_GENERIC_CPU_AUTOPROBE=y
1067 CONFIG_GENERIC_CPU_VULNERABILITIES=y
1068 CONFIG_REGMAP=y
1069 # end of Generic Driver Options
1070
1071 #
1072 # Bus devices
1073 #
1074 # CONFIG_MHI_BUS is not set
1075 # end of Bus devices
1076
1077 # CONFIG_CONNECTOR is not set
1078 # CONFIG_GNSS is not set
1079 # CONFIG_MTD is not set
1080 # CONFIG_OF is not set
1081 CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
1082 # CONFIG_PARPORT is not set
1083 CONFIG_PNP=y
1084 # CONFIG_PNP_DEBUG_MESSAGES is not set
1085
1086 #
1087 # Protocols
1088 #
1089 CONFIG_PNPACPI=y
1090 # CONFIG_BLK_DEV is not set
1091
1092 #
1093 # NVME Support
1094 #
1095 CONFIG_NVME_CORE=m
1096 CONFIG_BLK_DEV_NVME=m
1097 CONFIG_NVME_MULTIPATH=y
1098 # CONFIG_NVME_FC is not set
1099 # CONFIG_NVME_TCP is not set
1100 # end of NVME Support
1101
1102 #
1103 # Misc devices
1104 #
1105 # CONFIG_DUMMY_IRQ is not set
1106 # CONFIG_IBM_ASM is not set
1107 # CONFIG_PHANTOM is not set
1108 # CONFIG_TIFM_CORE is not set
1109 # CONFIG_ENCLOSURE_SERVICES is not set
1110 # CONFIG_HP_ILO is not set
1111 # CONFIG_SRAM is not set
1112 # CONFIG_PCI_ENDPOINT_TEST is not set
1113 # CONFIG_XILINX_SDFEC is not set
1114 # CONFIG_PVPANIC is not set
1115 # CONFIG_C2PORT is not set
1116
1117 #
1118 # EEPROM support
1119 #
1120 # CONFIG_EEPROM_93CX6 is not set
1121 # end of EEPROM support
1122
1123 # CONFIG_CB710_CORE is not set
1124
1125 #
1126 # Texas Instruments shared transport line discipline
1127 #
1128 # end of Texas Instruments shared transport line discipline
1129
1130 #
1131 # Altera FPGA firmware download module (requires I2C)
1132 #
1133 # CONFIG_INTEL_MEI is not set
1134 # CONFIG_INTEL_MEI_ME is not set
1135 # CONFIG_INTEL_MEI_TXE is not set
1136 # CONFIG_VMWARE_VMCI is not set
1137 # CONFIG_GENWQE is not set
1138 # CONFIG_ECHO is not set
1139 # CONFIG_BCM_VK is not set
1140 # CONFIG_MISC_ALCOR_PCI is not set
1141 # CONFIG_MISC_RTSX_PCI is not set
1142 # CONFIG_MISC_RTSX_USB is not set
1143 # CONFIG_HABANA_AI is not set
1144 # CONFIG_UACCE is not set
1145 # end of Misc devices
1146
1147 CONFIG_HAVE_IDE=y
1148 # CONFIG_IDE is not set
1149
1150 #
1151 # SCSI device support
1152 #
1153 CONFIG_SCSI_MOD=m
1154 # CONFIG_RAID_ATTRS is not set
1155 CONFIG_SCSI=m
1156 CONFIG_SCSI_DMA=y
1157 # CONFIG_SCSI_PROC_FS is not set
1158
1159 #
1160 # SCSI support type (disk, tape, CD-ROM)
1161 #
1162 CONFIG_BLK_DEV_SD=m
1163 # CONFIG_CHR_DEV_ST is not set
1164 # CONFIG_CHR_DEV_SG is not set
1165 # CONFIG_CHR_DEV_SCH is not set
1166 # CONFIG_SCSI_CONSTANTS is not set
1167 # CONFIG_SCSI_LOGGING is not set
1168 CONFIG_SCSI_SCAN_ASYNC=y
1169
1170 #
1171 # SCSI Transports
1172 #
1173 # CONFIG_SCSI_SPI_ATTRS is not set
1174 # CONFIG_SCSI_FC_ATTRS is not set
1175 # CONFIG_SCSI_ISCSI_ATTRS is not set
1176 # CONFIG_SCSI_SAS_ATTRS is not set
1177 # CONFIG_SCSI_SAS_LIBSAS is not set
1178 # CONFIG_SCSI_SRP_ATTRS is not set
1179 # end of SCSI Transports
1180
1181 # CONFIG_SCSI_LOWLEVEL is not set
1182 # CONFIG_SCSI_DH is not set
1183 # end of SCSI device support
1184
1185 CONFIG_ATA=m
1186 CONFIG_SATA_HOST=y
1187 # CONFIG_ATA_VERBOSE_ERROR is not set
1188 # CONFIG_ATA_FORCE is not set
1189 # CONFIG_ATA_ACPI is not set
1190 # CONFIG_SATA_PMP is not set
1191
1192 #
1193 # Controllers with non-SFF native interface
1194 #
1195 CONFIG_SATA_AHCI=m
1196 CONFIG_SATA_MOBILE_LPM_POLICY=0
1197 # CONFIG_SATA_AHCI_PLATFORM is not set
1198 # CONFIG_SATA_INIC162X is not set
1199 # CONFIG_SATA_ACARD_AHCI is not set
1200 # CONFIG_SATA_SIL24 is not set
1201 # CONFIG_ATA_SFF is not set
1202 # CONFIG_MD is not set
1203 # CONFIG_TARGET_CORE is not set
1204 # CONFIG_FUSION is not set
1205
1206 #
1207 # IEEE 1394 (FireWire) support
1208 #
1209 # CONFIG_FIREWIRE is not set
1210 # CONFIG_FIREWIRE_NOSY is not set
1211 # end of IEEE 1394 (FireWire) support
1212
1213 # CONFIG_MACINTOSH_DRIVERS is not set
1214 CONFIG_NETDEVICES=y
1215 CONFIG_MII=m
1216 # CONFIG_NET_CORE is not set
1217 # CONFIG_ARCNET is not set
1218
1219 #
1220 # Distributed Switch Architecture drivers
1221 #
1222 # end of Distributed Switch Architecture drivers
1223
1224 # CONFIG_ETHERNET is not set
1225 # CONFIG_FDDI is not set
1226 # CONFIG_HIPPI is not set
1227 # CONFIG_NET_SB1000 is not set
1228 CONFIG_PHYLIB=m
1229 # CONFIG_FIXED_PHY is not set
1230
1231 #
1232 # MII PHY device drivers
1233 #
1234 # CONFIG_AMD_PHY is not set
1235 # CONFIG_ADIN_PHY is not set
1236 # CONFIG_AQUANTIA_PHY is not set
1237 # CONFIG_AX88796B_PHY is not set
1238 # CONFIG_BROADCOM_PHY is not set
1239 # CONFIG_BCM54140_PHY is not set
1240 # CONFIG_BCM7XXX_PHY is not set
1241 # CONFIG_BCM84881_PHY is not set
1242 # CONFIG_BCM87XX_PHY is not set
1243 # CONFIG_CICADA_PHY is not set
1244 # CONFIG_CORTINA_PHY is not set
1245 # CONFIG_DAVICOM_PHY is not set
1246 # CONFIG_ICPLUS_PHY is not set
1247 # CONFIG_LXT_PHY is not set
1248 # CONFIG_INTEL_XWAY_PHY is not set
1249 # CONFIG_LSI_ET1011C_PHY is not set
1250 # CONFIG_MARVELL_PHY is not set
1251 # CONFIG_MARVELL_10G_PHY is not set
1252 # CONFIG_MICREL_PHY is not set
1253 # CONFIG_MICROCHIP_PHY is not set
1254 # CONFIG_MICROCHIP_T1_PHY is not set
1255 # CONFIG_MICROSEMI_PHY is not set
1256 # CONFIG_NATIONAL_PHY is not set
1257 # CONFIG_QSEMI_PHY is not set
1258 # CONFIG_REALTEK_PHY is not set
1259 # CONFIG_RENESAS_PHY is not set
1260 # CONFIG_ROCKCHIP_PHY is not set
1261 # CONFIG_SMSC_PHY is not set
1262 # CONFIG_STE10XP is not set
1263 # CONFIG_TERANETICS_PHY is not set
1264 # CONFIG_DP83822_PHY is not set
1265 # CONFIG_DP83TC811_PHY is not set
1266 # CONFIG_DP83848_PHY is not set
1267 # CONFIG_DP83867_PHY is not set
1268 # CONFIG_DP83869_PHY is not set
1269 # CONFIG_VITESSE_PHY is not set
1270 # CONFIG_XILINX_GMII2RGMII is not set
1271 CONFIG_MDIO_DEVICE=m
1272 CONFIG_MDIO_BUS=m
1273 CONFIG_MDIO_DEVRES=m
1274 # CONFIG_MDIO_BITBANG is not set
1275 # CONFIG_MDIO_BCM_UNIMAC is not set
1276 # CONFIG_MDIO_MVUSB is not set
1277 # CONFIG_MDIO_MSCC_MIIM is not set
1278 # CONFIG_MDIO_THUNDER is not set
1279
1280 #
1281 # MDIO Multiplexers
1282 #
1283
1284 #
1285 # PCS device drivers
1286 #
1287 # CONFIG_PCS_XPCS is not set
1288 # end of PCS device drivers
1289
1290 # CONFIG_PPP is not set
1291 # CONFIG_SLIP is not set
1292
1293 #
1294 # Host-side USB support is needed for USB Network Adapter support
1295 #
1296 CONFIG_USB_NET_DRIVERS=m
1297 # CONFIG_USB_CATC is not set
1298 # CONFIG_USB_KAWETH is not set
1299 # CONFIG_USB_PEGASUS is not set
1300 # CONFIG_USB_RTL8150 is not set
1301 # CONFIG_USB_RTL8152 is not set
1302 # CONFIG_USB_LAN78XX is not set
1303 CONFIG_USB_USBNET=m
1304 CONFIG_USB_NET_AX8817X=m
1305 CONFIG_USB_NET_AX88179_178A=m
1306 CONFIG_USB_NET_CDCETHER=m
1307 CONFIG_USB_NET_CDC_EEM=m
1308 CONFIG_USB_NET_CDC_NCM=m
1309 # CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
1310 # CONFIG_USB_NET_CDC_MBIM is not set
1311 # CONFIG_USB_NET_DM9601 is not set
1312 # CONFIG_USB_NET_SR9700 is not set
1313 # CONFIG_USB_NET_SR9800 is not set
1314 # CONFIG_USB_NET_SMSC75XX is not set
1315 # CONFIG_USB_NET_SMSC95XX is not set
1316 # CONFIG_USB_NET_GL620A is not set
1317 # CONFIG_USB_NET_NET1080 is not set
1318 # CONFIG_USB_NET_PLUSB is not set
1319 # CONFIG_USB_NET_MCS7830 is not set
1320 # CONFIG_USB_NET_RNDIS_HOST is not set
1321 # CONFIG_USB_NET_CDC_SUBSET is not set
1322 # CONFIG_USB_NET_ZAURUS is not set
1323 # CONFIG_USB_NET_CX82310_ETH is not set
1324 # CONFIG_USB_NET_KALMIA is not set
1325 # CONFIG_USB_NET_QMI_WWAN is not set
1326 # CONFIG_USB_NET_INT51X1 is not set
1327 # CONFIG_USB_IPHETH is not set
1328 # CONFIG_USB_SIERRA_NET is not set
1329 # CONFIG_USB_VL600 is not set
1330 # CONFIG_USB_NET_CH9200 is not set
1331 # CONFIG_USB_NET_AQC111 is not set
1332 # CONFIG_USB_RTL8153_ECM is not set
1333 # CONFIG_WLAN is not set
1334 # CONFIG_WAN is not set
1335 # CONFIG_VMXNET3 is not set
1336 # CONFIG_FUJITSU_ES is not set
1337 # CONFIG_NET_FAILOVER is not set
1338 # CONFIG_ISDN is not set
1339 # CONFIG_NVM is not set
1340
1341 #
1342 # Input device support
1343 #
1344 CONFIG_INPUT=y
1345 # CONFIG_INPUT_FF_MEMLESS is not set
1346 # CONFIG_INPUT_SPARSEKMAP is not set
1347 # CONFIG_INPUT_MATRIXKMAP is not set
1348
1349 #
1350 # Userland interfaces
1351 #
1352 # CONFIG_INPUT_MOUSEDEV is not set
1353 # CONFIG_INPUT_JOYDEV is not set
1354 CONFIG_INPUT_EVDEV=m
1355 # CONFIG_INPUT_EVBUG is not set
1356
1357 #
1358 # Input Device Drivers
1359 #
1360 # CONFIG_INPUT_KEYBOARD is not set
1361 # CONFIG_INPUT_MOUSE is not set
1362 # CONFIG_INPUT_JOYSTICK is not set
1363 # CONFIG_INPUT_TABLET is not set
1364 # CONFIG_INPUT_TOUCHSCREEN is not set
1365 # CONFIG_INPUT_MISC is not set
1366 # CONFIG_RMI4_CORE is not set
1367
1368 #
1369 # Hardware I/O ports
1370 #
1371 # CONFIG_SERIO is not set
1372 CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
1373 # CONFIG_GAMEPORT is not set
1374 # end of Hardware I/O ports
1375 # end of Input device support
1376
1377 #
1378 # Character devices
1379 #
1380 CONFIG_TTY=y
1381 CONFIG_VT=y
1382 CONFIG_CONSOLE_TRANSLATIONS=y
1383 CONFIG_VT_CONSOLE=y
1384 CONFIG_HW_CONSOLE=y
1385 CONFIG_VT_HW_CONSOLE_BINDING=y
1386 CONFIG_UNIX98_PTYS=y
1387 # CONFIG_LEGACY_PTYS is not set
1388 CONFIG_LDISC_AUTOLOAD=y
1389
1390 #
1391 # Serial drivers
1392 #
1393 # CONFIG_SERIAL_8250 is not set
1394
1395 #
1396 # Non-8250 serial port support
1397 #
1398 # CONFIG_SERIAL_UARTLITE is not set
1399 # CONFIG_SERIAL_JSM is not set
1400 # CONFIG_SERIAL_LANTIQ is not set
1401 # CONFIG_SERIAL_SCCNXP is not set
1402 # CONFIG_SERIAL_BCM63XX is not set
1403 # CONFIG_SERIAL_ALTERA_JTAGUART is not set
1404 # CONFIG_SERIAL_ALTERA_UART is not set
1405 # CONFIG_SERIAL_ARC is not set
1406 # CONFIG_SERIAL_RP2 is not set
1407 # CONFIG_SERIAL_FSL_LPUART is not set
1408 # CONFIG_SERIAL_FSL_LINFLEXUART is not set
1409 # CONFIG_SERIAL_SPRD is not set
1410 # end of Serial drivers
1411
1412 # CONFIG_SERIAL_NONSTANDARD is not set
1413 # CONFIG_N_GSM is not set
1414 # CONFIG_NOZOMI is not set
1415 # CONFIG_NULL_TTY is not set
1416 # CONFIG_TRACE_SINK is not set
1417 # CONFIG_SERIAL_DEV_BUS is not set
1418 # CONFIG_TTY_PRINTK is not set
1419 # CONFIG_VIRTIO_CONSOLE is not set
1420 # CONFIG_IPMI_HANDLER is not set
1421 # CONFIG_HW_RANDOM is not set
1422 # CONFIG_APPLICOM is not set
1423 # CONFIG_MWAVE is not set
1424 # CONFIG_DEVMEM is not set
1425 # CONFIG_DEVKMEM is not set
1426 # CONFIG_NVRAM is not set
1427 # CONFIG_RAW_DRIVER is not set
1428 # CONFIG_DEVPORT is not set
1429 # CONFIG_HPET is not set
1430 # CONFIG_HANGCHECK_TIMER is not set
1431 # CONFIG_TCG_TPM is not set
1432 # CONFIG_TELCLOCK is not set
1433 # CONFIG_XILLYBUS is not set
1434 # end of Character devices
1435
1436 # CONFIG_RANDOM_TRUST_BOOTLOADER is not set
1437
1438 #
1439 # I2C support
1440 #
1441 # CONFIG_I2C is not set
1442 # end of I2C support
1443
1444 # CONFIG_I3C is not set
1445 # CONFIG_SPI is not set
1446 # CONFIG_SPMI is not set
1447 # CONFIG_HSI is not set
1448 # CONFIG_PPS is not set
1449
1450 #
1451 # PTP clock support
1452 #
1453 # CONFIG_PTP_1588_CLOCK is not set
1454
1455 #
1456 # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
1457 #
1458 # end of PTP clock support
1459
1460 CONFIG_PINCTRL=y
1461 # CONFIG_DEBUG_PINCTRL is not set
1462 # CONFIG_PINCTRL_AMD is not set
1463 # CONFIG_PINCTRL_BAYTRAIL is not set
1464 # CONFIG_PINCTRL_CHERRYVIEW is not set
1465 # CONFIG_PINCTRL_LYNXPOINT is not set
1466 # CONFIG_PINCTRL_ALDERLAKE is not set
1467 # CONFIG_PINCTRL_BROXTON is not set
1468 # CONFIG_PINCTRL_CANNONLAKE is not set
1469 # CONFIG_PINCTRL_CEDARFORK is not set
1470 # CONFIG_PINCTRL_DENVERTON is not set
1471 # CONFIG_PINCTRL_ELKHARTLAKE is not set
1472 # CONFIG_PINCTRL_EMMITSBURG is not set
1473 # CONFIG_PINCTRL_GEMINILAKE is not set
1474 # CONFIG_PINCTRL_ICELAKE is not set
1475 # CONFIG_PINCTRL_JASPERLAKE is not set
1476 # CONFIG_PINCTRL_LAKEFIELD is not set
1477 # CONFIG_PINCTRL_LEWISBURG is not set
1478 # CONFIG_PINCTRL_SUNRISEPOINT is not set
1479 # CONFIG_PINCTRL_TIGERLAKE is not set
1480
1481 #
1482 # Renesas pinctrl drivers
1483 #
1484 # end of Renesas pinctrl drivers
1485
1486 # CONFIG_GPIOLIB is not set
1487 # CONFIG_W1 is not set
1488 # CONFIG_POWER_RESET is not set
1489 CONFIG_POWER_SUPPLY=y
1490 # CONFIG_POWER_SUPPLY_DEBUG is not set
1491 # CONFIG_PDA_POWER is not set
1492 # CONFIG_TEST_POWER is not set
1493 # CONFIG_BATTERY_DS2780 is not set
1494 # CONFIG_BATTERY_DS2781 is not set
1495 # CONFIG_BATTERY_BQ27XXX is not set
1496 # CONFIG_CHARGER_MAX8903 is not set
1497 # CONFIG_HWMON is not set
1498 CONFIG_THERMAL=y
1499 # CONFIG_THERMAL_NETLINK is not set
1500 # CONFIG_THERMAL_STATISTICS is not set
1501 CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
1502 # CONFIG_THERMAL_WRITABLE_TRIPS is not set
1503 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
1504 # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
1505 # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
1506 # CONFIG_THERMAL_GOV_FAIR_SHARE is not set
1507 CONFIG_THERMAL_GOV_STEP_WISE=y
1508 # CONFIG_THERMAL_GOV_BANG_BANG is not set
1509 # CONFIG_THERMAL_GOV_USER_SPACE is not set
1510 # CONFIG_THERMAL_EMULATION is not set
1511
1512 #
1513 # Intel thermal drivers
1514 #
1515 # CONFIG_INTEL_POWERCLAMP is not set
1516 CONFIG_X86_THERMAL_VECTOR=y
1517 # CONFIG_X86_PKG_TEMP_THERMAL is not set
1518 # CONFIG_INTEL_SOC_DTS_THERMAL is not set
1519
1520 #
1521 # ACPI INT340X thermal drivers
1522 #
1523 # CONFIG_INT340X_THERMAL is not set
1524 # end of ACPI INT340X thermal drivers
1525
1526 # CONFIG_INTEL_PCH_THERMAL is not set
1527 # end of Intel thermal drivers
1528
1529 # CONFIG_WATCHDOG is not set
1530 CONFIG_SSB_POSSIBLE=y
1531 # CONFIG_SSB is not set
1532 CONFIG_BCMA_POSSIBLE=y
1533 # CONFIG_BCMA is not set
1534
1535 #
1536 # Multifunction device drivers
1537 #
1538 # CONFIG_MFD_MADERA is not set
1539 # CONFIG_MFD_DLN2 is not set
1540 # CONFIG_HTC_PASIC3 is not set
1541 # CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
1542 # CONFIG_LPC_ICH is not set
1543 # CONFIG_LPC_SCH is not set
1544 # CONFIG_MFD_INTEL_LPSS_ACPI is not set
1545 # CONFIG_MFD_INTEL_LPSS_PCI is not set
1546 # CONFIG_MFD_INTEL_PMT is not set
1547 # CONFIG_MFD_JANZ_CMODIO is not set
1548 # CONFIG_MFD_KEMPLD is not set
1549 # CONFIG_MFD_MT6397 is not set
1550 # CONFIG_MFD_VIPERBOARD is not set
1551 # CONFIG_MFD_RDC321X is not set
1552 # CONFIG_MFD_SM501 is not set
1553 # CONFIG_ABX500_CORE is not set
1554 # CONFIG_MFD_SYSCON is not set
1555 # CONFIG_MFD_TI_AM335X_TSCADC is not set
1556 # CONFIG_MFD_TQMX86 is not set
1557 # CONFIG_MFD_VX855 is not set
1558 # end of Multifunction device drivers
1559
1560 # CONFIG_REGULATOR is not set
1561 # CONFIG_RC_CORE is not set
1562 # CONFIG_MEDIA_CEC_SUPPORT is not set
1563 # CONFIG_MEDIA_SUPPORT is not set
1564
1565 #
1566 # Graphics support
1567 #
1568 # CONFIG_AGP is not set
1569 # CONFIG_VGA_ARB is not set
1570 # CONFIG_VGA_SWITCHEROO is not set
1571 # CONFIG_DRM is not set
1572
1573 #
1574 # ARM devices
1575 #
1576 # end of ARM devices
1577
1578 #
1579 # Frame buffer Devices
1580 #
1581 CONFIG_FB_CMDLINE=y
1582 CONFIG_FB_NOTIFY=y
1583 CONFIG_FB=y
1584 # CONFIG_FIRMWARE_EDID is not set
1585 CONFIG_FB_CFB_FILLRECT=y
1586 CONFIG_FB_CFB_COPYAREA=y
1587 CONFIG_FB_CFB_IMAGEBLIT=y
1588 # CONFIG_FB_FOREIGN_ENDIAN is not set
1589 # CONFIG_FB_MODE_HELPERS is not set
1590 # CONFIG_FB_TILEBLITTING is not set
1591
1592 #
1593 # Frame buffer hardware drivers
1594 #
1595 # CONFIG_FB_CIRRUS is not set
1596 # CONFIG_FB_PM2 is not set
1597 # CONFIG_FB_CYBER2000 is not set
1598 # CONFIG_FB_ARC is not set
1599 # CONFIG_FB_ASILIANT is not set
1600 # CONFIG_FB_IMSTT is not set
1601 # CONFIG_FB_VGA16 is not set
1602 # CONFIG_FB_VESA is not set
1603 # CONFIG_FB_EFI is not set
1604 # CONFIG_FB_N411 is not set
1605 # CONFIG_FB_HGA is not set
1606 # CONFIG_FB_OPENCORES is not set
1607 # CONFIG_FB_S1D13XXX is not set
1608 # CONFIG_FB_NVIDIA is not set
1609 # CONFIG_FB_RIVA is not set
1610 # CONFIG_FB_I740 is not set
1611 # CONFIG_FB_LE80578 is not set
1612 # CONFIG_FB_MATROX is not set
1613 # CONFIG_FB_RADEON is not set
1614 # CONFIG_FB_ATY128 is not set
1615 # CONFIG_FB_ATY is not set
1616 # CONFIG_FB_S3 is not set
1617 # CONFIG_FB_SAVAGE is not set
1618 # CONFIG_FB_SIS is not set
1619 # CONFIG_FB_NEOMAGIC is not set
1620 # CONFIG_FB_KYRO is not set
1621 # CONFIG_FB_3DFX is not set
1622 # CONFIG_FB_VOODOO1 is not set
1623 # CONFIG_FB_VT8623 is not set
1624 # CONFIG_FB_TRIDENT is not set
1625 # CONFIG_FB_ARK is not set
1626 # CONFIG_FB_PM3 is not set
1627 # CONFIG_FB_CARMINE is not set
1628 # CONFIG_FB_SMSCUFX is not set
1629 # CONFIG_FB_UDL is not set
1630 # CONFIG_FB_IBM_GXT4500 is not set
1631 # CONFIG_FB_VIRTUAL is not set
1632 # CONFIG_FB_METRONOME is not set
1633 # CONFIG_FB_MB862XX is not set
1634 CONFIG_FB_SIMPLE=y
1635 # CONFIG_FB_SM712 is not set
1636 # end of Frame buffer Devices
1637
1638 #
1639 # Backlight & LCD device support
1640 #
1641 # CONFIG_LCD_CLASS_DEVICE is not set
1642 # CONFIG_BACKLIGHT_CLASS_DEVICE is not set
1643 # end of Backlight & LCD device support
1644
1645 #
1646 # Console display driver support
1647 #
1648 # CONFIG_VGA_CONSOLE is not set
1649 CONFIG_DUMMY_CONSOLE=y
1650 CONFIG_DUMMY_CONSOLE_COLUMNS=80
1651 CONFIG_DUMMY_CONSOLE_ROWS=25
1652 CONFIG_FRAMEBUFFER_CONSOLE=y
1653 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
1654 # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1655 # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
1656 # end of Console display driver support
1657
1658 # CONFIG_LOGO is not set
1659 # end of Graphics support
1660
1661 CONFIG_SOUND=m
1662 CONFIG_SND=m
1663 CONFIG_SND_TIMER=m
1664 CONFIG_SND_PCM=m
1665 CONFIG_SND_HWDEP=m
1666 CONFIG_SND_RAWMIDI=m
1667 CONFIG_SND_JACK=y
1668 CONFIG_SND_JACK_INPUT_DEV=y
1669 # CONFIG_SND_OSSEMUL is not set
1670 CONFIG_SND_PCM_TIMER=y
1671 CONFIG_SND_HRTIMER=m
1672 CONFIG_SND_DYNAMIC_MINORS=y
1673 CONFIG_SND_MAX_CARDS=32
1674 # CONFIG_SND_SUPPORT_OLD_API is not set
1675 CONFIG_SND_PROC_FS=y
1676 CONFIG_SND_VERBOSE_PROCFS=y
1677 # CONFIG_SND_VERBOSE_PRINTK is not set
1678 # CONFIG_SND_DEBUG is not set
1679 CONFIG_SND_VMASTER=y
1680 CONFIG_SND_DMA_SGBUF=y
1681 # CONFIG_SND_SEQUENCER is not set
1682 # CONFIG_SND_DRIVERS is not set
1683 CONFIG_SND_PCI=y
1684 # CONFIG_SND_AD1889 is not set
1685 # CONFIG_SND_ASIHPI is not set
1686 # CONFIG_SND_ATIIXP is not set
1687 # CONFIG_SND_ATIIXP_MODEM is not set
1688 # CONFIG_SND_AU8810 is not set
1689 # CONFIG_SND_AU8820 is not set
1690 # CONFIG_SND_AU8830 is not set
1691 # CONFIG_SND_AW2 is not set
1692 # CONFIG_SND_BT87X is not set
1693 # CONFIG_SND_CA0106 is not set
1694 # CONFIG_SND_CMIPCI is not set
1695 # CONFIG_SND_OXYGEN is not set
1696 # CONFIG_SND_CS4281 is not set
1697 # CONFIG_SND_CS46XX is not set
1698 # CONFIG_SND_CTXFI is not set
1699 # CONFIG_SND_DARLA20 is not set
1700 # CONFIG_SND_GINA20 is not set
1701 # CONFIG_SND_LAYLA20 is not set
1702 # CONFIG_SND_DARLA24 is not set
1703 # CONFIG_SND_GINA24 is not set
1704 # CONFIG_SND_LAYLA24 is not set
1705 # CONFIG_SND_MONA is not set
1706 # CONFIG_SND_MIA is not set
1707 # CONFIG_SND_ECHO3G is not set
1708 # CONFIG_SND_INDIGO is not set
1709 # CONFIG_SND_INDIGOIO is not set
1710 # CONFIG_SND_INDIGODJ is not set
1711 # CONFIG_SND_INDIGOIOX is not set
1712 # CONFIG_SND_INDIGODJX is not set
1713 # CONFIG_SND_ENS1370 is not set
1714 # CONFIG_SND_ENS1371 is not set
1715 # CONFIG_SND_FM801 is not set
1716 # CONFIG_SND_HDSP is not set
1717 # CONFIG_SND_HDSPM is not set
1718 # CONFIG_SND_ICE1724 is not set
1719 # CONFIG_SND_INTEL8X0 is not set
1720 # CONFIG_SND_INTEL8X0M is not set
1721 # CONFIG_SND_KORG1212 is not set
1722 # CONFIG_SND_LOLA is not set
1723 # CONFIG_SND_LX6464ES is not set
1724 # CONFIG_SND_MIXART is not set
1725 # CONFIG_SND_NM256 is not set
1726 # CONFIG_SND_PCXHR is not set
1727 # CONFIG_SND_RIPTIDE is not set
1728 # CONFIG_SND_RME32 is not set
1729 # CONFIG_SND_RME96 is not set
1730 # CONFIG_SND_RME9652 is not set
1731 # CONFIG_SND_SE6X is not set
1732 # CONFIG_SND_VIA82XX is not set
1733 # CONFIG_SND_VIA82XX_MODEM is not set
1734 # CONFIG_SND_VIRTUOSO is not set
1735 # CONFIG_SND_VX222 is not set
1736 # CONFIG_SND_YMFPCI is not set
1737
1738 #
1739 # HD-Audio
1740 #
1741 CONFIG_SND_HDA=m
1742 CONFIG_SND_HDA_INTEL=m
1743 # CONFIG_SND_HDA_HWDEP is not set
1744 # CONFIG_SND_HDA_RECONFIG is not set
1745 # CONFIG_SND_HDA_INPUT_BEEP is not set
1746 # CONFIG_SND_HDA_PATCH_LOADER is not set
1747 # CONFIG_SND_HDA_CODEC_REALTEK is not set
1748 # CONFIG_SND_HDA_CODEC_ANALOG is not set
1749 # CONFIG_SND_HDA_CODEC_SIGMATEL is not set
1750 # CONFIG_SND_HDA_CODEC_VIA is not set
1751 # CONFIG_SND_HDA_CODEC_HDMI is not set
1752 # CONFIG_SND_HDA_CODEC_CIRRUS is not set
1753 # CONFIG_SND_HDA_CODEC_CONEXANT is not set
1754 # CONFIG_SND_HDA_CODEC_CA0110 is not set
1755 # CONFIG_SND_HDA_CODEC_CA0132 is not set
1756 # CONFIG_SND_HDA_CODEC_CMEDIA is not set
1757 # CONFIG_SND_HDA_CODEC_SI3054 is not set
1758 CONFIG_SND_HDA_GENERIC=m
1759 # CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set
1760 # end of HD-Audio
1761
1762 CONFIG_SND_HDA_CORE=m
1763 CONFIG_SND_HDA_PREALLOC_SIZE=2048
1764 CONFIG_SND_INTEL_NHLT=y
1765 CONFIG_SND_INTEL_DSP_CONFIG=m
1766 CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m
1767 CONFIG_SND_USB=y
1768 CONFIG_SND_USB_AUDIO=m
1769 # CONFIG_SND_USB_UA101 is not set
1770 # CONFIG_SND_USB_USX2Y is not set
1771 # CONFIG_SND_USB_CAIAQ is not set
1772 # CONFIG_SND_USB_US122L is not set
1773 # CONFIG_SND_USB_6FIRE is not set
1774 # CONFIG_SND_USB_HIFACE is not set
1775 # CONFIG_SND_BCD2000 is not set
1776 # CONFIG_SND_USB_POD is not set
1777 # CONFIG_SND_USB_PODHD is not set
1778 # CONFIG_SND_USB_TONEPORT is not set
1779 # CONFIG_SND_USB_VARIAX is not set
1780 # CONFIG_SND_SOC is not set
1781 # CONFIG_SND_X86 is not set
1782
1783 #
1784 # HID support
1785 #
1786 CONFIG_HID=m
1787 # CONFIG_HID_BATTERY_STRENGTH is not set
1788 CONFIG_HIDRAW=y
1789 # CONFIG_UHID is not set
1790 CONFIG_HID_GENERIC=m
1791
1792 #
1793 # Special HID drivers
1794 #
1795 # CONFIG_HID_A4TECH is not set
1796 # CONFIG_HID_ACCUTOUCH is not set
1797 # CONFIG_HID_ACRUX is not set
1798 # CONFIG_HID_APPLE is not set
1799 # CONFIG_HID_APPLEIR is not set
1800 # CONFIG_HID_AUREAL is not set
1801 # CONFIG_HID_BELKIN is not set
1802 # CONFIG_HID_BETOP_FF is not set
1803 # CONFIG_HID_CHERRY is not set
1804 # CONFIG_HID_CHICONY is not set
1805 # CONFIG_HID_COUGAR is not set
1806 # CONFIG_HID_MACALLY is not set
1807 # CONFIG_HID_PRODIKEYS is not set
1808 # CONFIG_HID_CMEDIA is not set
1809 # CONFIG_HID_CREATIVE_SB0540 is not set
1810 # CONFIG_HID_CYPRESS is not set
1811 # CONFIG_HID_DRAGONRISE is not set
1812 # CONFIG_HID_EMS_FF is not set
1813 # CONFIG_HID_ELECOM is not set
1814 # CONFIG_HID_ELO is not set
1815 # CONFIG_HID_EZKEY is not set
1816 # CONFIG_HID_GEMBIRD is not set
1817 # CONFIG_HID_GFRM is not set
1818 # CONFIG_HID_GLORIOUS is not set
1819 # CONFIG_HID_HOLTEK is not set
1820 # CONFIG_HID_VIVALDI is not set
1821 # CONFIG_HID_KEYTOUCH is not set
1822 # CONFIG_HID_KYE is not set
1823 # CONFIG_HID_UCLOGIC is not set
1824 # CONFIG_HID_WALTOP is not set
1825 # CONFIG_HID_VIEWSONIC is not set
1826 # CONFIG_HID_GYRATION is not set
1827 # CONFIG_HID_ICADE is not set
1828 # CONFIG_HID_ITE is not set
1829 # CONFIG_HID_JABRA is not set
1830 # CONFIG_HID_TWINHAN is not set
1831 # CONFIG_HID_KENSINGTON is not set
1832 # CONFIG_HID_LCPOWER is not set
1833 # CONFIG_HID_LENOVO is not set
1834 # CONFIG_HID_MAGICMOUSE is not set
1835 # CONFIG_HID_MALTRON is not set
1836 # CONFIG_HID_MAYFLASH is not set
1837 # CONFIG_HID_REDRAGON is not set
1838 # CONFIG_HID_MICROSOFT is not set
1839 # CONFIG_HID_MONTEREY is not set
1840 # CONFIG_HID_MULTITOUCH is not set
1841 # CONFIG_HID_NTI is not set
1842 # CONFIG_HID_NTRIG is not set
1843 # CONFIG_HID_ORTEK is not set
1844 # CONFIG_HID_PANTHERLORD is not set
1845 # CONFIG_HID_PENMOUNT is not set
1846 # CONFIG_HID_PETALYNX is not set
1847 # CONFIG_HID_PICOLCD is not set
1848 # CONFIG_HID_PLANTRONICS is not set
1849 # CONFIG_HID_PLAYSTATION is not set
1850 # CONFIG_HID_PRIMAX is not set
1851 # CONFIG_HID_RETRODE is not set
1852 # CONFIG_HID_ROCCAT is not set
1853 # CONFIG_HID_SAITEK is not set
1854 # CONFIG_HID_SAMSUNG is not set
1855 # CONFIG_HID_SPEEDLINK is not set
1856 # CONFIG_HID_STEAM is not set
1857 # CONFIG_HID_STEELSERIES is not set
1858 # CONFIG_HID_SUNPLUS is not set
1859 # CONFIG_HID_RMI is not set
1860 # CONFIG_HID_GREENASIA is not set
1861 # CONFIG_HID_SMARTJOYPLUS is not set
1862 # CONFIG_HID_TIVO is not set
1863 # CONFIG_HID_TOPSEED is not set
1864 # CONFIG_HID_THRUSTMASTER is not set
1865 # CONFIG_HID_UDRAW_PS3 is not set
1866 # CONFIG_HID_WACOM is not set
1867 # CONFIG_HID_XINMO is not set
1868 # CONFIG_HID_ZEROPLUS is not set
1869 # CONFIG_HID_ZYDACRON is not set
1870 # CONFIG_HID_SENSOR_HUB is not set
1871 # CONFIG_HID_ALPS is not set
1872 # end of Special HID drivers
1873
1874 #
1875 # USB HID support
1876 #
1877 CONFIG_USB_HID=m
1878 # CONFIG_HID_PID is not set
1879 CONFIG_USB_HIDDEV=y
1880
1881 #
1882 # USB HID Boot Protocol drivers
1883 #
1884 # CONFIG_USB_KBD is not set
1885 # CONFIG_USB_MOUSE is not set
1886 # end of USB HID Boot Protocol drivers
1887 # end of USB HID support
1888
1889 #
1890 # Intel ISH HID support
1891 #
1892 # CONFIG_INTEL_ISH_HID is not set
1893 # end of Intel ISH HID support
1894
1895 #
1896 # AMD SFH HID Support
1897 #
1898 # CONFIG_AMD_SFH_HID is not set
1899 # end of AMD SFH HID Support
1900 # end of HID support
1901
1902 CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1903 CONFIG_USB_SUPPORT=y
1904 CONFIG_USB_COMMON=m
1905 # CONFIG_USB_ULPI_BUS is not set
1906 CONFIG_USB_ARCH_HAS_HCD=y
1907 CONFIG_USB=m
1908 CONFIG_USB_PCI=y
1909 CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
1910
1911 #
1912 # Miscellaneous USB options
1913 #
1914 CONFIG_USB_DEFAULT_PERSIST=y
1915 # CONFIG_USB_FEW_INIT_RETRIES is not set
1916 CONFIG_USB_DYNAMIC_MINORS=y
1917 # CONFIG_USB_OTG_PRODUCTLIST is not set
1918 # CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
1919 CONFIG_USB_AUTOSUSPEND_DELAY=2
1920 # CONFIG_USB_MON is not set
1921
1922 #
1923 # USB Host Controller Drivers
1924 #
1925 # CONFIG_USB_C67X00_HCD is not set
1926 CONFIG_USB_XHCI_HCD=m
1927 # CONFIG_USB_XHCI_DBGCAP is not set
1928 CONFIG_USB_XHCI_PCI=m
1929 # CONFIG_USB_XHCI_PCI_RENESAS is not set
1930 # CONFIG_USB_XHCI_PLATFORM is not set
1931 CONFIG_USB_EHCI_HCD=m
1932 # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1933 CONFIG_USB_EHCI_TT_NEWSCHED=y
1934 CONFIG_USB_EHCI_PCI=m
1935 # CONFIG_USB_EHCI_FSL is not set
1936 # CONFIG_USB_EHCI_HCD_PLATFORM is not set
1937 # CONFIG_USB_OXU210HP_HCD is not set
1938 # CONFIG_USB_ISP116X_HCD is not set
1939 # CONFIG_USB_FOTG210_HCD is not set
1940 CONFIG_USB_OHCI_HCD=m
1941 CONFIG_USB_OHCI_HCD_PCI=m
1942 # CONFIG_USB_OHCI_HCD_PLATFORM is not set
1943 CONFIG_USB_UHCI_HCD=m
1944 # CONFIG_USB_SL811_HCD is not set
1945 # CONFIG_USB_R8A66597_HCD is not set
1946 # CONFIG_USB_HCD_TEST_MODE is not set
1947
1948 #
1949 # USB Device Class drivers
1950 #
1951 # CONFIG_USB_ACM is not set
1952 # CONFIG_USB_PRINTER is not set
1953 # CONFIG_USB_WDM is not set
1954 # CONFIG_USB_TMC is not set
1955
1956 #
1957 # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1958 #
1959
1960 #
1961 # also be needed; see USB_STORAGE Help for more info
1962 #
1963 CONFIG_USB_STORAGE=m
1964 # CONFIG_USB_STORAGE_DEBUG is not set
1965 # CONFIG_USB_STORAGE_REALTEK is not set
1966 # CONFIG_USB_STORAGE_DATAFAB is not set
1967 # CONFIG_USB_STORAGE_FREECOM is not set
1968 # CONFIG_USB_STORAGE_ISD200 is not set
1969 # CONFIG_USB_STORAGE_USBAT is not set
1970 # CONFIG_USB_STORAGE_SDDR09 is not set
1971 # CONFIG_USB_STORAGE_SDDR55 is not set
1972 # CONFIG_USB_STORAGE_JUMPSHOT is not set
1973 # CONFIG_USB_STORAGE_ALAUDA is not set
1974 # CONFIG_USB_STORAGE_ONETOUCH is not set
1975 # CONFIG_USB_STORAGE_KARMA is not set
1976 # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1977 # CONFIG_USB_STORAGE_ENE_UB6250 is not set
1978 CONFIG_USB_UAS=m
1979
1980 #
1981 # USB Imaging devices
1982 #
1983 # CONFIG_USB_MDC800 is not set
1984 # CONFIG_USB_MICROTEK is not set
1985 # CONFIG_USBIP_CORE is not set
1986 # CONFIG_USB_CDNS_SUPPORT is not set
1987 # CONFIG_USB_MUSB_HDRC is not set
1988 # CONFIG_USB_DWC3 is not set
1989 # CONFIG_USB_DWC2 is not set
1990 # CONFIG_USB_CHIPIDEA is not set
1991 # CONFIG_USB_ISP1760 is not set
1992
1993 #
1994 # USB port drivers
1995 #
1996 # CONFIG_USB_SERIAL is not set
1997
1998 #
1999 # USB Miscellaneous drivers
2000 #
2001 # CONFIG_USB_EMI62 is not set
2002 # CONFIG_USB_EMI26 is not set
2003 # CONFIG_USB_ADUTUX is not set
2004 # CONFIG_USB_SEVSEG is not set
2005 # CONFIG_USB_LEGOTOWER is not set
2006 # CONFIG_USB_LCD is not set
2007 # CONFIG_USB_CYPRESS_CY7C63 is not set
2008 # CONFIG_USB_CYTHERM is not set
2009 # CONFIG_USB_IDMOUSE is not set
2010 # CONFIG_USB_FTDI_ELAN is not set
2011 # CONFIG_USB_APPLEDISPLAY is not set
2012 # CONFIG_APPLE_MFI_FASTCHARGE is not set
2013 # CONFIG_USB_SISUSBVGA is not set
2014 # CONFIG_USB_LD is not set
2015 # CONFIG_USB_TRANCEVIBRATOR is not set
2016 # CONFIG_USB_IOWARRIOR is not set
2017 # CONFIG_USB_TEST is not set
2018 # CONFIG_USB_EHSET_TEST_FIXTURE is not set
2019 # CONFIG_USB_ISIGHTFW is not set
2020 # CONFIG_USB_YUREX is not set
2021 # CONFIG_USB_EZUSB_FX2 is not set
2022 # CONFIG_USB_LINK_LAYER_TEST is not set
2023
2024 #
2025 # USB Physical Layer drivers
2026 #
2027 # CONFIG_NOP_USB_XCEIV is not set
2028 # end of USB Physical Layer drivers
2029
2030 # CONFIG_USB_GADGET is not set
2031 # CONFIG_TYPEC is not set
2032 # CONFIG_USB_ROLE_SWITCH is not set
2033 # CONFIG_MMC is not set
2034 # CONFIG_MEMSTICK is not set
2035 # CONFIG_NEW_LEDS is not set
2036 # CONFIG_ACCESSIBILITY is not set
2037 # CONFIG_INFINIBAND is not set
2038 CONFIG_EDAC_ATOMIC_SCRUB=y
2039 CONFIG_EDAC_SUPPORT=y
2040 CONFIG_RTC_LIB=y
2041 CONFIG_RTC_MC146818_LIB=y
2042 CONFIG_RTC_CLASS=y
2043 # CONFIG_RTC_HCTOSYS is not set
2044 # CONFIG_RTC_SYSTOHC is not set
2045 # CONFIG_RTC_DEBUG is not set
2046 CONFIG_RTC_NVMEM=y
2047
2048 #
2049 # RTC interfaces
2050 #
2051 CONFIG_RTC_INTF_SYSFS=y
2052 CONFIG_RTC_INTF_PROC=y
2053 CONFIG_RTC_INTF_DEV=y
2054 # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
2055 # CONFIG_RTC_DRV_TEST is not set
2056
2057 #
2058 # I2C RTC drivers
2059 #
2060
2061 #
2062 # SPI RTC drivers
2063 #
2064
2065 #
2066 # SPI and I2C RTC drivers
2067 #
2068
2069 #
2070 # Platform RTC drivers
2071 #
2072 CONFIG_RTC_DRV_CMOS=y
2073 # CONFIG_RTC_DRV_DS1286 is not set
2074 # CONFIG_RTC_DRV_DS1511 is not set
2075 # CONFIG_RTC_DRV_DS1553 is not set
2076 # CONFIG_RTC_DRV_DS1685_FAMILY is not set
2077 # CONFIG_RTC_DRV_DS1742 is not set
2078 # CONFIG_RTC_DRV_DS2404 is not set
2079 # CONFIG_RTC_DRV_STK17TA8 is not set
2080 # CONFIG_RTC_DRV_M48T86 is not set
2081 # CONFIG_RTC_DRV_M48T35 is not set
2082 # CONFIG_RTC_DRV_M48T59 is not set
2083 # CONFIG_RTC_DRV_MSM6242 is not set
2084 # CONFIG_RTC_DRV_BQ4802 is not set
2085 # CONFIG_RTC_DRV_RP5C01 is not set
2086 # CONFIG_RTC_DRV_V3020 is not set
2087
2088 #
2089 # on-CPU RTC drivers
2090 #
2091 # CONFIG_RTC_DRV_FTRTC010 is not set
2092
2093 #
2094 # HID Sensor RTC drivers
2095 #
2096 # CONFIG_DMADEVICES is not set
2097
2098 #
2099 # DMABUF options
2100 #
2101 # CONFIG_SYNC_FILE is not set
2102 # CONFIG_DMABUF_MOVE_NOTIFY is not set
2103 # CONFIG_DMABUF_DEBUG is not set
2104 # CONFIG_DMABUF_HEAPS is not set
2105 # end of DMABUF options
2106
2107 # CONFIG_AUXDISPLAY is not set
2108 # CONFIG_UIO is not set
2109 # CONFIG_VFIO is not set
2110 # CONFIG_VIRT_DRIVERS is not set
2111 # CONFIG_VIRTIO_MENU is not set
2112 # CONFIG_VDPA is not set
2113 # CONFIG_VHOST_MENU is not set
2114
2115 #
2116 # Microsoft Hyper-V guest support
2117 #
2118 # end of Microsoft Hyper-V guest support
2119
2120 # CONFIG_GREYBUS is not set
2121 # CONFIG_STAGING is not set
2122 # CONFIG_X86_PLATFORM_DEVICES is not set
2123 CONFIG_PMC_ATOM=y
2124 # CONFIG_CHROME_PLATFORMS is not set
2125 # CONFIG_MELLANOX_PLATFORM is not set
2126 # CONFIG_SURFACE_PLATFORMS is not set
2127 CONFIG_HAVE_CLK=y
2128 CONFIG_CLKDEV_LOOKUP=y
2129 CONFIG_HAVE_CLK_PREPARE=y
2130 CONFIG_COMMON_CLK=y
2131 # CONFIG_XILINX_VCU is not set
2132 # CONFIG_HWSPINLOCK is not set
2133
2134 #
2135 # Clock Source drivers
2136 #
2137 CONFIG_CLKEVT_I8253=y
2138 CONFIG_CLKBLD_I8253=y
2139 # end of Clock Source drivers
2140
2141 CONFIG_MAILBOX=y
2142 CONFIG_PCC=y
2143 # CONFIG_ALTERA_MBOX is not set
2144 CONFIG_IOMMU_IOVA=y
2145 CONFIG_IOASID=y
2146 CONFIG_IOMMU_API=y
2147 CONFIG_IOMMU_SUPPORT=y
2148
2149 #
2150 # Generic IOMMU Pagetable Support
2151 #
2152 CONFIG_IOMMU_IO_PGTABLE=y
2153 # end of Generic IOMMU Pagetable Support
2154
2155 # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
2156 CONFIG_IOMMU_DMA=y
2157 CONFIG_AMD_IOMMU=y
2158 CONFIG_AMD_IOMMU_V2=y
2159 CONFIG_DMAR_TABLE=y
2160 CONFIG_INTEL_IOMMU=y
2161 CONFIG_INTEL_IOMMU_SVM=y
2162 CONFIG_INTEL_IOMMU_DEFAULT_ON=y
2163 CONFIG_INTEL_IOMMU_FLOPPY_WA=y
2164 CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
2165 CONFIG_IRQ_REMAP=y
2166
2167 #
2168 # Remoteproc drivers
2169 #
2170 # CONFIG_REMOTEPROC is not set
2171 # end of Remoteproc drivers
2172
2173 #
2174 # Rpmsg drivers
2175 #
2176 # CONFIG_RPMSG_QCOM_GLINK_RPM is not set
2177 # CONFIG_RPMSG_VIRTIO is not set
2178 # end of Rpmsg drivers
2179
2180 # CONFIG_SOUNDWIRE is not set
2181
2182 #
2183 # SOC (System On Chip) specific Drivers
2184 #
2185
2186 #
2187 # Amlogic SoC drivers
2188 #
2189 # end of Amlogic SoC drivers
2190
2191 #
2192 # Broadcom SoC drivers
2193 #
2194 # end of Broadcom SoC drivers
2195
2196 #
2197 # NXP/Freescale QorIQ SoC drivers
2198 #
2199 # end of NXP/Freescale QorIQ SoC drivers
2200
2201 #
2202 # i.MX SoC drivers
2203 #
2204 # end of i.MX SoC drivers
2205
2206 #
2207 # Enable LiteX SoC Builder specific drivers
2208 #
2209 # end of Enable LiteX SoC Builder specific drivers
2210
2211 #
2212 # Qualcomm SoC drivers
2213 #
2214 # end of Qualcomm SoC drivers
2215
2216 # CONFIG_SOC_TI is not set
2217
2218 #
2219 # Xilinx SoC drivers
2220 #
2221 # end of Xilinx SoC drivers
2222 # end of SOC (System On Chip) specific Drivers
2223
2224 # CONFIG_PM_DEVFREQ is not set
2225 # CONFIG_EXTCON is not set
2226 # CONFIG_MEMORY is not set
2227 # CONFIG_IIO is not set
2228 # CONFIG_NTB is not set
2229 # CONFIG_VME_BUS is not set
2230 # CONFIG_PWM is not set
2231
2232 #
2233 # IRQ chip support
2234 #
2235 # end of IRQ chip support
2236
2237 # CONFIG_IPACK_BUS is not set
2238 # CONFIG_RESET_CONTROLLER is not set
2239
2240 #
2241 # PHY Subsystem
2242 #
2243 # CONFIG_GENERIC_PHY is not set
2244 # CONFIG_USB_LGM_PHY is not set
2245 # CONFIG_BCM_KONA_USB2_PHY is not set
2246 # CONFIG_PHY_PXA_28NM_HSIC is not set
2247 # CONFIG_PHY_PXA_28NM_USB2 is not set
2248 # CONFIG_PHY_INTEL_LGM_EMMC is not set
2249 # end of PHY Subsystem
2250
2251 # CONFIG_POWERCAP is not set
2252 # CONFIG_MCB is not set
2253
2254 #
2255 # Performance monitor support
2256 #
2257 # end of Performance monitor support
2258
2259 # CONFIG_RAS is not set
2260 # CONFIG_USB4 is not set
2261
2262 #
2263 # Android
2264 #
2265 # CONFIG_ANDROID is not set
2266 # end of Android
2267
2268 # CONFIG_DAX is not set
2269 CONFIG_NVMEM=y
2270 # CONFIG_NVMEM_SYSFS is not set
2271 # CONFIG_NVMEM_RMEM is not set
2272
2273 #
2274 # HW tracing support
2275 #
2276 # CONFIG_STM is not set
2277 # CONFIG_INTEL_TH is not set
2278 # end of HW tracing support
2279
2280 # CONFIG_FPGA is not set
2281 # CONFIG_TEE is not set
2282 # CONFIG_UNISYS_VISORBUS is not set
2283 # CONFIG_SIOX is not set
2284 # CONFIG_SLIMBUS is not set
2285 # CONFIG_INTERCONNECT is not set
2286 # CONFIG_COUNTER is not set
2287 # end of Device Drivers
2288
2289 #
2290 # File systems
2291 #
2292 CONFIG_DCACHE_WORD_ACCESS=y
2293 # CONFIG_VALIDATE_FS_PARSER is not set
2294 CONFIG_FS_IOMAP=y
2295 # CONFIG_EXT2_FS is not set
2296 # CONFIG_EXT3_FS is not set
2297 CONFIG_EXT4_FS=m
2298 CONFIG_EXT4_USE_FOR_EXT2=y
2299 # CONFIG_EXT4_FS_POSIX_ACL is not set
2300 # CONFIG_EXT4_FS_SECURITY is not set
2301 # CONFIG_EXT4_DEBUG is not set
2302 CONFIG_JBD2=m
2303 # CONFIG_JBD2_DEBUG is not set
2304 CONFIG_FS_MBCACHE=m
2305 # CONFIG_REISERFS_FS is not set
2306 # CONFIG_JFS_FS is not set
2307 # CONFIG_XFS_FS is not set
2308 # CONFIG_GFS2_FS is not set
2309 # CONFIG_BTRFS_FS is not set
2310 # CONFIG_NILFS2_FS is not set
2311 # CONFIG_F2FS_FS is not set
2312 # CONFIG_FS_DAX is not set
2313 CONFIG_EXPORTFS=y
2314 # CONFIG_EXPORTFS_BLOCK_OPS is not set
2315 CONFIG_FILE_LOCKING=y
2316 # CONFIG_MANDATORY_FILE_LOCKING is not set
2317 # CONFIG_FS_ENCRYPTION is not set
2318 # CONFIG_FS_VERITY is not set
2319 CONFIG_FSNOTIFY=y
2320 # CONFIG_DNOTIFY is not set
2321 CONFIG_INOTIFY_USER=y
2322 # CONFIG_FANOTIFY is not set
2323 # CONFIG_QUOTA is not set
2324 # CONFIG_AUTOFS4_FS is not set
2325 # CONFIG_AUTOFS_FS is not set
2326 # CONFIG_FUSE_FS is not set
2327 # CONFIG_OVERLAY_FS is not set
2328
2329 #
2330 # Caches
2331 #
2332 # CONFIG_FSCACHE is not set
2333 # end of Caches
2334
2335 #
2336 # CD-ROM/DVD Filesystems
2337 #
2338 # CONFIG_ISO9660_FS is not set
2339 # CONFIG_UDF_FS is not set
2340 # end of CD-ROM/DVD Filesystems
2341
2342 #
2343 # DOS/FAT/EXFAT/NT Filesystems
2344 #
2345 CONFIG_FAT_FS=m
2346 # CONFIG_MSDOS_FS is not set
2347 CONFIG_VFAT_FS=m
2348 CONFIG_FAT_DEFAULT_CODEPAGE=437
2349 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
2350 CONFIG_FAT_DEFAULT_UTF8=y
2351 CONFIG_EXFAT_FS=m
2352 CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
2353 # CONFIG_NTFS_FS is not set
2354 # end of DOS/FAT/EXFAT/NT Filesystems
2355
2356 #
2357 # Pseudo filesystems
2358 #
2359 CONFIG_PROC_FS=y
2360 # CONFIG_PROC_KCORE is not set
2361 CONFIG_PROC_SYSCTL=y
2362 # CONFIG_PROC_PAGE_MONITOR is not set
2363 CONFIG_PROC_CHILDREN=y
2364 CONFIG_PROC_PID_ARCH_STATUS=y
2365 CONFIG_KERNFS=y
2366 CONFIG_SYSFS=y
2367 CONFIG_TMPFS=y
2368 # CONFIG_TMPFS_POSIX_ACL is not set
2369 # CONFIG_TMPFS_XATTR is not set
2370 # CONFIG_TMPFS_INODE64 is not set
2371 # CONFIG_HUGETLBFS is not set
2372 CONFIG_MEMFD_CREATE=y
2373 CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
2374 # CONFIG_CONFIGFS_FS is not set
2375 CONFIG_EFIVAR_FS=m
2376 # end of Pseudo filesystems
2377
2378 # CONFIG_MISC_FILESYSTEMS is not set
2379 # CONFIG_NETWORK_FILESYSTEMS is not set
2380 CONFIG_NLS=y
2381 CONFIG_NLS_DEFAULT="utf8"
2382 CONFIG_NLS_CODEPAGE_437=m
2383 # CONFIG_NLS_CODEPAGE_737 is not set
2384 # CONFIG_NLS_CODEPAGE_775 is not set
2385 CONFIG_NLS_CODEPAGE_850=m
2386 # CONFIG_NLS_CODEPAGE_852 is not set
2387 # CONFIG_NLS_CODEPAGE_855 is not set
2388 # CONFIG_NLS_CODEPAGE_857 is not set
2389 # CONFIG_NLS_CODEPAGE_860 is not set
2390 # CONFIG_NLS_CODEPAGE_861 is not set
2391 # CONFIG_NLS_CODEPAGE_862 is not set
2392 # CONFIG_NLS_CODEPAGE_863 is not set
2393 # CONFIG_NLS_CODEPAGE_864 is not set
2394 # CONFIG_NLS_CODEPAGE_865 is not set
2395 # CONFIG_NLS_CODEPAGE_866 is not set
2396 # CONFIG_NLS_CODEPAGE_869 is not set
2397 # CONFIG_NLS_CODEPAGE_936 is not set
2398 # CONFIG_NLS_CODEPAGE_950 is not set
2399 # CONFIG_NLS_CODEPAGE_932 is not set
2400 # CONFIG_NLS_CODEPAGE_949 is not set
2401 # CONFIG_NLS_CODEPAGE_874 is not set
2402 # CONFIG_NLS_ISO8859_8 is not set
2403 # CONFIG_NLS_CODEPAGE_1250 is not set
2404 # CONFIG_NLS_CODEPAGE_1251 is not set
2405 CONFIG_NLS_ASCII=m
2406 CONFIG_NLS_ISO8859_1=m
2407 # CONFIG_NLS_ISO8859_2 is not set
2408 # CONFIG_NLS_ISO8859_3 is not set
2409 # CONFIG_NLS_ISO8859_4 is not set
2410 # CONFIG_NLS_ISO8859_5 is not set
2411 # CONFIG_NLS_ISO8859_6 is not set
2412 # CONFIG_NLS_ISO8859_7 is not set
2413 # CONFIG_NLS_ISO8859_9 is not set
2414 # CONFIG_NLS_ISO8859_13 is not set
2415 # CONFIG_NLS_ISO8859_14 is not set
2416 CONFIG_NLS_ISO8859_15=m
2417 # CONFIG_NLS_KOI8_R is not set
2418 # CONFIG_NLS_KOI8_U is not set
2419 # CONFIG_NLS_MAC_ROMAN is not set
2420 # CONFIG_NLS_MAC_CELTIC is not set
2421 # CONFIG_NLS_MAC_CENTEURO is not set
2422 # CONFIG_NLS_MAC_CROATIAN is not set
2423 # CONFIG_NLS_MAC_CYRILLIC is not set
2424 # CONFIG_NLS_MAC_GAELIC is not set
2425 # CONFIG_NLS_MAC_GREEK is not set
2426 # CONFIG_NLS_MAC_ICELAND is not set
2427 # CONFIG_NLS_MAC_INUIT is not set
2428 # CONFIG_NLS_MAC_ROMANIAN is not set
2429 # CONFIG_NLS_MAC_TURKISH is not set
2430 CONFIG_NLS_UTF8=m
2431 # CONFIG_UNICODE is not set
2432 CONFIG_IO_WQ=y
2433 # end of File systems
2434
2435 #
2436 # Security options
2437 #
2438 # CONFIG_KEYS is not set
2439 # CONFIG_SECURITY_DMESG_RESTRICT is not set
2440 # CONFIG_SECURITY is not set
2441 # CONFIG_SECURITYFS is not set
2442 # CONFIG_PAGE_TABLE_ISOLATION is not set
2443 # CONFIG_INTEL_TXT is not set
2444 CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
2445 # CONFIG_HARDENED_USERCOPY is not set
2446 # CONFIG_FORTIFY_SOURCE is not set
2447 # CONFIG_STATIC_USERMODEHELPER is not set
2448 # CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
2449 CONFIG_DEFAULT_SECURITY_DAC=y
2450 CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf"
2451
2452 #
2453 # Kernel hardening options
2454 #
2455
2456 #
2457 # Memory initialization
2458 #
2459 CONFIG_INIT_STACK_NONE=y
2460 # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
2461 # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
2462 # end of Memory initialization
2463 # end of Kernel hardening options
2464 # end of Security options
2465
2466 CONFIG_CRYPTO=m
2467
2468 #
2469 # Crypto core or helper
2470 #
2471 CONFIG_CRYPTO_ALGAPI=m
2472 CONFIG_CRYPTO_ALGAPI2=m
2473 CONFIG_CRYPTO_HASH=m
2474 CONFIG_CRYPTO_HASH2=m
2475 # CONFIG_CRYPTO_MANAGER is not set
2476 # CONFIG_CRYPTO_USER is not set
2477 CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
2478 # CONFIG_CRYPTO_NULL is not set
2479 # CONFIG_CRYPTO_PCRYPT is not set
2480 # CONFIG_CRYPTO_CRYPTD is not set
2481 # CONFIG_CRYPTO_AUTHENC is not set
2482 # CONFIG_CRYPTO_TEST is not set
2483
2484 #
2485 # Public-key cryptography
2486 #
2487 # CONFIG_CRYPTO_RSA is not set
2488 # CONFIG_CRYPTO_DH is not set
2489 # CONFIG_CRYPTO_ECDH is not set
2490 # CONFIG_CRYPTO_ECRDSA is not set
2491 # CONFIG_CRYPTO_SM2 is not set
2492 # CONFIG_CRYPTO_CURVE25519 is not set
2493 # CONFIG_CRYPTO_CURVE25519_X86 is not set
2494
2495 #
2496 # Authenticated Encryption with Associated Data
2497 #
2498 # CONFIG_CRYPTO_CCM is not set
2499 # CONFIG_CRYPTO_GCM is not set
2500 # CONFIG_CRYPTO_CHACHA20POLY1305 is not set
2501 # CONFIG_CRYPTO_AEGIS128 is not set
2502 # CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set
2503 # CONFIG_CRYPTO_SEQIV is not set
2504 # CONFIG_CRYPTO_ECHAINIV is not set
2505
2506 #
2507 # Block modes
2508 #
2509 # CONFIG_CRYPTO_CBC is not set
2510 # CONFIG_CRYPTO_CFB is not set
2511 # CONFIG_CRYPTO_CTR is not set
2512 # CONFIG_CRYPTO_CTS is not set
2513 # CONFIG_CRYPTO_ECB is not set
2514 # CONFIG_CRYPTO_LRW is not set
2515 # CONFIG_CRYPTO_OFB is not set
2516 # CONFIG_CRYPTO_PCBC is not set
2517 # CONFIG_CRYPTO_XTS is not set
2518 # CONFIG_CRYPTO_KEYWRAP is not set
2519 # CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set
2520 # CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set
2521 # CONFIG_CRYPTO_ADIANTUM is not set
2522 # CONFIG_CRYPTO_ESSIV is not set
2523
2524 #
2525 # Hash modes
2526 #
2527 # CONFIG_CRYPTO_CMAC is not set
2528 # CONFIG_CRYPTO_HMAC is not set
2529 # CONFIG_CRYPTO_XCBC is not set
2530 # CONFIG_CRYPTO_VMAC is not set
2531
2532 #
2533 # Digest
2534 #
2535 CONFIG_CRYPTO_CRC32C=m
2536 CONFIG_CRYPTO_CRC32C_INTEL=m
2537 # CONFIG_CRYPTO_CRC32 is not set
2538 # CONFIG_CRYPTO_CRC32_PCLMUL is not set
2539 # CONFIG_CRYPTO_XXHASH is not set
2540 # CONFIG_CRYPTO_BLAKE2B is not set
2541 # CONFIG_CRYPTO_BLAKE2S is not set
2542 # CONFIG_CRYPTO_BLAKE2S_X86 is not set
2543 # CONFIG_CRYPTO_CRCT10DIF is not set
2544 # CONFIG_CRYPTO_GHASH is not set
2545 # CONFIG_CRYPTO_POLY1305 is not set
2546 # CONFIG_CRYPTO_POLY1305_X86_64 is not set
2547 # CONFIG_CRYPTO_MD4 is not set
2548 # CONFIG_CRYPTO_MD5 is not set
2549 # CONFIG_CRYPTO_MICHAEL_MIC is not set
2550 # CONFIG_CRYPTO_RMD160 is not set
2551 # CONFIG_CRYPTO_SHA1 is not set
2552 # CONFIG_CRYPTO_SHA1_SSSE3 is not set
2553 # CONFIG_CRYPTO_SHA256_SSSE3 is not set
2554 # CONFIG_CRYPTO_SHA512_SSSE3 is not set
2555 # CONFIG_CRYPTO_SHA256 is not set
2556 # CONFIG_CRYPTO_SHA512 is not set
2557 # CONFIG_CRYPTO_SHA3 is not set
2558 # CONFIG_CRYPTO_SM3 is not set
2559 # CONFIG_CRYPTO_STREEBOG is not set
2560 # CONFIG_CRYPTO_WP512 is not set
2561 # CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set
2562
2563 #
2564 # Ciphers
2565 #
2566 # CONFIG_CRYPTO_AES is not set
2567 # CONFIG_CRYPTO_AES_TI is not set
2568 # CONFIG_CRYPTO_AES_NI_INTEL is not set
2569 # CONFIG_CRYPTO_BLOWFISH is not set
2570 # CONFIG_CRYPTO_BLOWFISH_X86_64 is not set
2571 # CONFIG_CRYPTO_CAMELLIA is not set
2572 # CONFIG_CRYPTO_CAMELLIA_X86_64 is not set
2573 # CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set
2574 # CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set
2575 # CONFIG_CRYPTO_CAST5 is not set
2576 # CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set
2577 # CONFIG_CRYPTO_CAST6 is not set
2578 # CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set
2579 # CONFIG_CRYPTO_DES is not set
2580 # CONFIG_CRYPTO_DES3_EDE_X86_64 is not set
2581 # CONFIG_CRYPTO_FCRYPT is not set
2582 # CONFIG_CRYPTO_CHACHA20 is not set
2583 # CONFIG_CRYPTO_CHACHA20_X86_64 is not set
2584 # CONFIG_CRYPTO_SERPENT is not set
2585 # CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
2586 # CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set
2587 # CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set
2588 # CONFIG_CRYPTO_SM4 is not set
2589 # CONFIG_CRYPTO_TWOFISH is not set
2590 # CONFIG_CRYPTO_TWOFISH_X86_64 is not set
2591 # CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set
2592 # CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set
2593
2594 #
2595 # Compression
2596 #
2597 # CONFIG_CRYPTO_DEFLATE is not set
2598 # CONFIG_CRYPTO_LZO is not set
2599 # CONFIG_CRYPTO_842 is not set
2600 # CONFIG_CRYPTO_LZ4 is not set
2601 # CONFIG_CRYPTO_LZ4HC is not set
2602 # CONFIG_CRYPTO_ZSTD is not set
2603
2604 #
2605 # Random Number Generation
2606 #
2607 # CONFIG_CRYPTO_ANSI_CPRNG is not set
2608 # CONFIG_CRYPTO_DRBG_MENU is not set
2609 # CONFIG_CRYPTO_JITTERENTROPY is not set
2610 # CONFIG_CRYPTO_USER_API_HASH is not set
2611 # CONFIG_CRYPTO_USER_API_SKCIPHER is not set
2612 # CONFIG_CRYPTO_USER_API_RNG is not set
2613 # CONFIG_CRYPTO_USER_API_AEAD is not set
2614
2615 #
2616 # Crypto library routines
2617 #
2618 # CONFIG_CRYPTO_LIB_BLAKE2S is not set
2619 # CONFIG_CRYPTO_LIB_CHACHA is not set
2620 # CONFIG_CRYPTO_LIB_CURVE25519 is not set
2621 CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
2622 # CONFIG_CRYPTO_LIB_POLY1305 is not set
2623 # CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set
2624 # CONFIG_CRYPTO_HW is not set
2625
2626 #
2627 # Certificates for signature checking
2628 #
2629 # end of Certificates for signature checking
2630
2631 #
2632 # Library routines
2633 #
2634 # CONFIG_PACKING is not set
2635 CONFIG_BITREVERSE=y
2636 CONFIG_GENERIC_STRNCPY_FROM_USER=y
2637 CONFIG_GENERIC_STRNLEN_USER=y
2638 CONFIG_GENERIC_NET_UTILS=y
2639 CONFIG_GENERIC_FIND_FIRST_BIT=y
2640 # CONFIG_CORDIC is not set
2641 # CONFIG_PRIME_NUMBERS is not set
2642 CONFIG_RATIONAL=y
2643 CONFIG_GENERIC_PCI_IOMAP=y
2644 CONFIG_GENERIC_IOMAP=y
2645 CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
2646 CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
2647 CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
2648 # CONFIG_CRC_CCITT is not set
2649 CONFIG_CRC16=m
2650 # CONFIG_CRC_T10DIF is not set
2651 # CONFIG_CRC_ITU_T is not set
2652 CONFIG_CRC32=y
2653 # CONFIG_CRC32_SELFTEST is not set
2654 CONFIG_CRC32_SLICEBY8=y
2655 # CONFIG_CRC32_SLICEBY4 is not set
2656 # CONFIG_CRC32_SARWATE is not set
2657 # CONFIG_CRC32_BIT is not set
2658 # CONFIG_CRC64 is not set
2659 # CONFIG_CRC4 is not set
2660 # CONFIG_CRC7 is not set
2661 # CONFIG_LIBCRC32C is not set
2662 # CONFIG_CRC8 is not set
2663 # CONFIG_RANDOM32_SELFTEST is not set
2664 CONFIG_ZLIB_INFLATE=y
2665 # CONFIG_XZ_DEC is not set
2666 CONFIG_DECOMPRESS_GZIP=y
2667 CONFIG_GENERIC_ALLOCATOR=y
2668 CONFIG_INTERVAL_TREE=y
2669 CONFIG_XARRAY_MULTI=y
2670 CONFIG_HAS_IOMEM=y
2671 CONFIG_HAS_IOPORT_MAP=y
2672 CONFIG_HAS_DMA=y
2673 CONFIG_DMA_OPS=y
2674 CONFIG_NEED_SG_DMA_LENGTH=y
2675 CONFIG_NEED_DMA_MAP_STATE=y
2676 CONFIG_ARCH_DMA_ADDR_T_64BIT=y
2677 CONFIG_SWIOTLB=y
2678 # CONFIG_DMA_API_DEBUG is not set
2679 CONFIG_CPU_RMAP=y
2680 CONFIG_DQL=y
2681 CONFIG_GLOB=y
2682 # CONFIG_GLOB_SELFTEST is not set
2683 CONFIG_NLATTR=y
2684 # CONFIG_IRQ_POLL is not set
2685 CONFIG_UCS2_STRING=y
2686 CONFIG_HAVE_GENERIC_VDSO=y
2687 CONFIG_GENERIC_GETTIMEOFDAY=y
2688 CONFIG_GENERIC_VDSO_TIME_NS=y
2689 CONFIG_FONT_SUPPORT=y
2690 # CONFIG_FONTS is not set
2691 CONFIG_FONT_8x8=y
2692 CONFIG_FONT_8x16=y
2693 CONFIG_SG_POOL=y
2694 CONFIG_ARCH_HAS_PMEM_API=y
2695 CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
2696 CONFIG_ARCH_HAS_COPY_MC=y
2697 CONFIG_ARCH_STACKWALK=y
2698 CONFIG_SBITMAP=y
2699 # CONFIG_STRING_SELFTEST is not set
2700 # end of Library routines
2701
2702 #
2703 # Kernel hacking
2704 #
2705
2706 #
2707 # printk and dmesg options
2708 #
2709 CONFIG_PRINTK_TIME=y
2710 # CONFIG_PRINTK_CALLER is not set
2711 CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
2712 CONFIG_CONSOLE_LOGLEVEL_QUIET=4
2713 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
2714 # CONFIG_BOOT_PRINTK_DELAY is not set
2715 # CONFIG_DYNAMIC_DEBUG is not set
2716 # CONFIG_DYNAMIC_DEBUG_CORE is not set
2717 CONFIG_SYMBOLIC_ERRNAME=y
2718 CONFIG_DEBUG_BUGVERBOSE=y
2719 # end of printk and dmesg options
2720
2721 #
2722 # Compile-time checks and compiler options
2723 #
2724 # CONFIG_DEBUG_INFO is not set
2725 CONFIG_FRAME_WARN=2048
2726 # CONFIG_STRIP_ASM_SYMS is not set
2727 # CONFIG_READABLE_ASM is not set
2728 # CONFIG_HEADERS_INSTALL is not set
2729 # CONFIG_DEBUG_SECTION_MISMATCH is not set
2730 CONFIG_SECTION_MISMATCH_WARN_ONLY=y
2731 # CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set
2732 CONFIG_STACK_VALIDATION=y
2733 # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
2734 # end of Compile-time checks and compiler options
2735
2736 #
2737 # Generic Kernel Debugging Instruments
2738 #
2739 # CONFIG_MAGIC_SYSRQ is not set
2740 # CONFIG_DEBUG_FS is not set
2741 CONFIG_HAVE_ARCH_KGDB=y
2742 # CONFIG_KGDB is not set
2743 CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
2744 # CONFIG_UBSAN is not set
2745 CONFIG_HAVE_ARCH_KCSAN=y
2746 # end of Generic Kernel Debugging Instruments
2747
2748 CONFIG_DEBUG_KERNEL=y
2749 # CONFIG_DEBUG_MISC is not set
2750
2751 #
2752 # Memory Debugging
2753 #
2754 # CONFIG_PAGE_EXTENSION is not set
2755 # CONFIG_DEBUG_PAGEALLOC is not set
2756 # CONFIG_PAGE_OWNER is not set
2757 # CONFIG_PAGE_POISONING is not set
2758 # CONFIG_DEBUG_RODATA_TEST is not set
2759 CONFIG_ARCH_HAS_DEBUG_WX=y
2760 # CONFIG_DEBUG_WX is not set
2761 CONFIG_GENERIC_PTDUMP=y
2762 # CONFIG_DEBUG_OBJECTS is not set
2763 # CONFIG_SLUB_STATS is not set
2764 CONFIG_HAVE_DEBUG_KMEMLEAK=y
2765 # CONFIG_DEBUG_KMEMLEAK is not set
2766 # CONFIG_DEBUG_STACK_USAGE is not set
2767 # CONFIG_SCHED_STACK_END_CHECK is not set
2768 CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
2769 # CONFIG_DEBUG_VM is not set
2770 # CONFIG_DEBUG_VM_PGTABLE is not set
2771 CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
2772 # CONFIG_DEBUG_VIRTUAL is not set
2773 # CONFIG_DEBUG_MEMORY_INIT is not set
2774 # CONFIG_DEBUG_PER_CPU_MAPS is not set
2775 CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y
2776 # CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP is not set
2777 CONFIG_HAVE_ARCH_KASAN=y
2778 CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
2779 CONFIG_HAVE_ARCH_KFENCE=y
2780 # CONFIG_KFENCE is not set
2781 # end of Memory Debugging
2782
2783 # CONFIG_DEBUG_SHIRQ is not set
2784
2785 #
2786 # Debug Oops, Lockups and Hangs
2787 #
2788 # CONFIG_PANIC_ON_OOPS is not set
2789 CONFIG_PANIC_ON_OOPS_VALUE=0
2790 CONFIG_PANIC_TIMEOUT=0
2791 # CONFIG_SOFTLOCKUP_DETECTOR is not set
2792 CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
2793 # CONFIG_HARDLOCKUP_DETECTOR is not set
2794 # CONFIG_DETECT_HUNG_TASK is not set
2795 # CONFIG_WQ_WATCHDOG is not set
2796 # CONFIG_TEST_LOCKUP is not set
2797 # end of Debug Oops, Lockups and Hangs
2798
2799 #
2800 # Scheduler Debugging
2801 #
2802 # CONFIG_SCHED_DEBUG is not set
2803 # CONFIG_SCHEDSTATS is not set
2804 # end of Scheduler Debugging
2805
2806 # CONFIG_DEBUG_TIMEKEEPING is not set
2807 # CONFIG_DEBUG_PREEMPT is not set
2808
2809 #
2810 # Lock Debugging (spinlocks, mutexes, etc...)
2811 #
2812 CONFIG_LOCK_DEBUGGING_SUPPORT=y
2813 # CONFIG_PROVE_LOCKING is not set
2814 # CONFIG_LOCK_STAT is not set
2815 # CONFIG_DEBUG_RT_MUTEXES is not set
2816 # CONFIG_DEBUG_SPINLOCK is not set
2817 # CONFIG_DEBUG_MUTEXES is not set
2818 # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
2819 # CONFIG_DEBUG_RWSEMS is not set
2820 # CONFIG_DEBUG_LOCK_ALLOC is not set
2821 # CONFIG_DEBUG_ATOMIC_SLEEP is not set
2822 # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
2823 # CONFIG_LOCK_TORTURE_TEST is not set
2824 # CONFIG_WW_MUTEX_SELFTEST is not set
2825 # CONFIG_SCF_TORTURE_TEST is not set
2826 # CONFIG_CSD_LOCK_WAIT_DEBUG is not set
2827 # end of Lock Debugging (spinlocks, mutexes, etc...)
2828
2829 # CONFIG_DEBUG_IRQFLAGS is not set
2830 # CONFIG_STACKTRACE is not set
2831 # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
2832 # CONFIG_DEBUG_KOBJECT is not set
2833
2834 #
2835 # Debug kernel data structures
2836 #
2837 # CONFIG_DEBUG_LIST is not set
2838 # CONFIG_DEBUG_PLIST is not set
2839 # CONFIG_DEBUG_SG is not set
2840 # CONFIG_DEBUG_NOTIFIERS is not set
2841 # CONFIG_BUG_ON_DATA_CORRUPTION is not set
2842 # end of Debug kernel data structures
2843
2844 # CONFIG_DEBUG_CREDENTIALS is not set
2845
2846 #
2847 # RCU Debugging
2848 #
2849 # CONFIG_RCU_SCALE_TEST is not set
2850 # CONFIG_RCU_TORTURE_TEST is not set
2851 # CONFIG_RCU_REF_SCALE_TEST is not set
2852 CONFIG_RCU_CPU_STALL_TIMEOUT=21
2853 # CONFIG_RCU_TRACE is not set
2854 # CONFIG_RCU_EQS_DEBUG is not set
2855 # end of RCU Debugging
2856
2857 # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
2858 # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
2859 # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
2860 # CONFIG_LATENCYTOP is not set
2861 CONFIG_USER_STACKTRACE_SUPPORT=y
2862 CONFIG_HAVE_FUNCTION_TRACER=y
2863 CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
2864 CONFIG_HAVE_DYNAMIC_FTRACE=y
2865 CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
2866 CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
2867 CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
2868 CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
2869 CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
2870 CONFIG_HAVE_FENTRY=y
2871 CONFIG_HAVE_OBJTOOL_MCOUNT=y
2872 CONFIG_HAVE_C_RECORDMCOUNT=y
2873 CONFIG_TRACING_SUPPORT=y
2874 # CONFIG_FTRACE is not set
2875 # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
2876 # CONFIG_SAMPLES is not set
2877 CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
2878
2879 #
2880 # x86 Debugging
2881 #
2882 CONFIG_TRACE_IRQFLAGS_SUPPORT=y
2883 CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
2884 CONFIG_X86_VERBOSE_BOOTUP=y
2885 # CONFIG_EARLY_PRINTK is not set
2886 # CONFIG_EFI_PGT_DUMP is not set
2887 # CONFIG_DEBUG_TLBFLUSH is not set
2888 CONFIG_HAVE_MMIOTRACE_SUPPORT=y
2889 # CONFIG_X86_DECODER_SELFTEST is not set
2890 CONFIG_IO_DELAY_0X80=y
2891 # CONFIG_IO_DELAY_0XED is not set
2892 # CONFIG_IO_DELAY_UDELAY is not set
2893 # CONFIG_IO_DELAY_NONE is not set
2894 # CONFIG_CPA_DEBUG is not set
2895 # CONFIG_DEBUG_ENTRY is not set
2896 # CONFIG_DEBUG_NMI_SELFTEST is not set
2897 # CONFIG_X86_DEBUG_FPU is not set
2898 # CONFIG_PUNIT_ATOM_DEBUG is not set
2899 # CONFIG_UNWINDER_ORC is not set
2900 # CONFIG_UNWINDER_FRAME_POINTER is not set
2901 CONFIG_UNWINDER_GUESS=y
2902 # end of x86 Debugging
2903
2904 #
2905 # Kernel Testing and Coverage
2906 #
2907 # CONFIG_KUNIT is not set
2908 # CONFIG_NOTIFIER_ERROR_INJECTION is not set
2909 # CONFIG_FAULT_INJECTION is not set
2910 CONFIG_ARCH_HAS_KCOV=y
2911 # CONFIG_RUNTIME_TESTING_MENU is not set
2912 # CONFIG_MEMTEST is not set
2913 # end of Kernel Testing and Coverage
2914 # end of Kernel hacking
File builders/bootstrap/linux-5.12.1/init.in copied from file builders/initramfs-busybox-0/init (similarity 81%) (mode: 100755) (index 99b46eb..79af154)
... ... mkdir /sys
12 12 mount -t sysfs sysfs /sys mount -t sysfs sysfs /sys
13 13 mkdir /dev mkdir /dev
14 14 mount -t devtmpfs devtmpfs /dev mount -t devtmpfs devtmpfs /dev
15 mkdir /dev/pts
16 mount -t devpts devpts /dev/pts
17 15
18 16 printf 'INITRAMFS:ENVIRONMENT -- START\n' printf 'INITRAMFS:ENVIRONMENT -- START\n'
19 17 env env
 
... ... if test -n "$*"; then
24 22 fi fi
25 23 printf 'INITRAMFS:PARAMETERS -- END\n' printf 'INITRAMFS:PARAMETERS -- END\n'
26 24
27 if test -z "$initramfs_root_uuid"; then
28 printf 'INITRAMFS:no root uuid in environment\n'
29 for p in "$@"
30 do
31 printf "INITRAMFS:init parameters:$p\n"
32 if test ${p%%=*} = initramfs_root_uuid; then
33 initramfs_root_uuid=${p#*=}
34 break;
35 fi
36 done
37 fi
25 initramfs_root_uuid=
38 26
39 27 if test -z "$initramfs_root_uuid"; then if test -z "$initramfs_root_uuid"; then
40 printf 'INITRAMFS:unable to find the root uuid\n'
28 printf 'INITRAMFS:ERROR:no root uuid\n'
41 29 exit 1 exit 1
42 30 else else
43 31 printf "INITRAMFS_ROOT_UUID=$initramfs_root_uuid\n" printf "INITRAMFS_ROOT_UUID=$initramfs_root_uuid\n"
 
... ... kill $uevt_sh_pid
93 81 printf "INITRAMFS:MOUNTING $initramfs_root_uuid as TYPE=$fs\n" printf "INITRAMFS:MOUNTING $initramfs_root_uuid as TYPE=$fs\n"
94 82 mkdir /newroot mkdir /newroot
95 83 mount -o relatime -t $fs $blk /newroot mount -o relatime -t $fs $blk /newroot
96 printf "INITRAMFS:UMOUNTING /DEV{/PTS} /SYS /PROC, SWITCHING ROOT AND EXEC /bin/init\n"
97 umount /dev/pts
84 printf "INITRAMFS:UMOUNTING /DEV /SYS /PROC, SWITCHING ROOT AND EXEC /bin/init\n"
98 85 umount /dev umount /dev
99 86 umount /sys umount /sys
100 87 umount /proc umount /proc
File builders/bootstrap/linux-5.12.1/nyan_ramfs.in added (mode: 100644) (index 0000000..5144e6c)
1 # BEFORE THIS LINE WILL BE INSERTED THE LINUX DEFAULT INITRAMFS CPIO LIST
2 #===============================================================================
3 #the following must be valid per kernel version
4 #-------------------------------------------------------------------------------
5 #microcode
6 dir /kernel 0755 0 0
7 dir /kernel/x86 0755 0 0
8 dir /kernel/x86/microcode 0755 0 0
9 file /kernel/x86/microcode/AuthenticAMD.bin PKG_DIR/AuthenticAMD.bin 0644 0 0
10 #-------------------------------------------------------------------------------
11 #modules
12 dir /lib 0755 0 0
13 dir /lib/modules 0755 0 0
14 dir /lib/modules/LINUX_RELEASE 0755 0 0
15 dir /lib/modules/LINUX_RELEASE/kernel 0755 0 0
16 dir /lib/modules/LINUX_RELEASE/kernel/arch 0755 0 0
17 dir /lib/modules/LINUX_RELEASE/kernel/arch/x86 0755 0 0
18 dir /lib/modules/LINUX_RELEASE/kernel/arch/x86/crypto 0755 0 0
19 dir /lib/modules/LINUX_RELEASE/kernel/crypto 0755 0 0
20 dir /lib/modules/LINUX_RELEASE/kernel/drivers 0755 0 0
21 dir /lib/modules/LINUX_RELEASE/kernel/drivers/ata 0755 0 0
22 dir /lib/modules/LINUX_RELEASE/kernel/drivers/scsi 0755 0 0
23 dir /lib/modules/LINUX_RELEASE/kernel/drivers/usb 0755 0 0
24 dir /lib/modules/LINUX_RELEASE/kernel/drivers/usb/common 0755 0 0
25 dir /lib/modules/LINUX_RELEASE/kernel/drivers/usb/core 0755 0 0
26 dir /lib/modules/LINUX_RELEASE/kernel/drivers/usb/host 0755 0 0
27 dir /lib/modules/LINUX_RELEASE/kernel/drivers/usb/storage 0755 0 0
28 dir /lib/modules/LINUX_RELEASE/kernel/fs 0755 0 0
29 dir /lib/modules/LINUX_RELEASE/kernel/fs/ext4 0755 0 0
30 dir /lib/modules/LINUX_RELEASE/kernel/fs/jbd2 0755 0 0
31 dir /lib/modules/LINUX_RELEASE/kernel/lib 0755 0 0
32 file /lib/modules/LINUX_RELEASE/kernel/arch/x86/crypto/crc32c-intel.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/arch/x86/crypto/crc32c-intel.ko 0644 0 0
33 file /lib/modules/LINUX_RELEASE/kernel/crypto/crypto.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/crypto/crypto.ko 0644 0 0
34 file /lib/modules/LINUX_RELEASE/kernel/crypto/crypto_algapi.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/crypto/crypto_algapi.ko 0644 0 0
35 file /lib/modules/LINUX_RELEASE/kernel/crypto/crypto_hash.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/crypto/crypto_hash.ko 0644 0 0
36 file /lib/modules/LINUX_RELEASE/kernel/drivers/ata/ahci.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/ata/ahci.ko 0644 0 0
37 file /lib/modules/LINUX_RELEASE/kernel/drivers/ata/libahci.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/ata/libahci.ko 0644 0 0
38 file /lib/modules/LINUX_RELEASE/kernel/drivers/ata/libata.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/ata/libata.ko 0644 0 0
39 file /lib/modules/LINUX_RELEASE/kernel/drivers/nvme/host/nvme-core.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/nvme/host/nvme-core.ko 0644 0 0
40 file /lib/modules/LINUX_RELEASE/kernel/drivers/nvme/host/nvme.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/nvme/host/nvme.ko 0644 0 0
41 file /lib/modules/LINUX_RELEASE/kernel/drivers/scsi/scsi_mod.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/scsi/scsi_mod.ko 0644 0 0
42 file /lib/modules/LINUX_RELEASE/kernel/drivers/scsi/sd_mod.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/scsi/sd_mod.ko 0644 0 0
43 file /lib/modules/LINUX_RELEASE/kernel/drivers/usb/common/usb-common.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/usb/common/usb-common.ko 0644 0 0
44 file /lib/modules/LINUX_RELEASE/kernel/drivers/usb/core/usbcore.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/usb/core/usbcore.ko 0644 0 0
45 file /lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/ehci-hcd.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/ehci-hcd.ko 0644 0 0
46 file /lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/ehci-pci.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/ehci-pci.ko 0644 0 0
47 file /lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/ohci-hcd.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/ohci-hcd.ko 0644 0 0
48 file /lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/ohci-pci.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/ohci-pci.ko 0644 0 0
49 file /lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/uhci-hcd.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/uhci-hcd.ko 0644 0 0
50 file /lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/xhci-hcd.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/xhci-hcd.ko 0644 0 0
51 file /lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/xhci-pci.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/usb/host/xhci-pci.ko 0644 0 0
52 file /lib/modules/LINUX_RELEASE/kernel/drivers/usb/storage/usb-storage.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/usb/storage/usb-storage.ko 0644 0 0
53 file /lib/modules/LINUX_RELEASE/kernel/drivers/usb/storage/uas.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/drivers/usb/storage/uas.ko 0644 0 0
54 file /lib/modules/LINUX_RELEASE/kernel/fs/ext4/ext4.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/fs/ext4/ext4.ko 0644 0 0
55 file /lib/modules/LINUX_RELEASE/kernel/fs/mbcache.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/fs/mbcache.ko 0644 0 0
56 file /lib/modules/LINUX_RELEASE/kernel/fs/jbd2/jbd2.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/fs/jbd2/jbd2.ko 0644 0 0
57 file /lib/modules/LINUX_RELEASE/kernel/lib/crc16.ko SYSROOT_DIR/lib/modules/LINUX_RELEASE/kernel/lib/crc16.ko 0644 0 0
58
59 file /lib/modules/LINUX_RELEASE/modules.alias SYSROOT_DIR/lib/modules/LINUX_RELEASE/modules.alias 0644 0 0
60 file /lib/modules/LINUX_RELEASE/modules.builtin SYSROOT_DIR/lib/modules/LINUX_RELEASE/modules.builtin 0644 0 0
61 file /lib/modules/LINUX_RELEASE/modules.builtin.modinfo SYSROOT_DIR/lib/modules/LINUX_RELEASE/modules.builtin.modinfo 0644 0 0
62 file /lib/modules/LINUX_RELEASE/modules.dep SYSROOT_DIR/lib/modules/LINUX_RELEASE/modules.dep 0644 0 0
63 file /lib/modules/LINUX_RELEASE/modules.order SYSROOT_DIR/lib/modules/LINUX_RELEASE/modules.order 0644 0 0
64 file /lib/modules/LINUX_RELEASE/modules.symbols SYSROOT_DIR/lib/modules/LINUX_RELEASE/modules.symbols 0644 0 0
65 #===============================================================================
66 dir /bin 0755 0 0
67 file /bin/busybox SYSROOT_DIR/nyan/busybox/current/bin/busybox 0755 0 0
68 slink /bin/sh busybox 777 0 0
69 slink /bin/mkdir busybox 777 0 0
70 slink /bin/mount busybox 777 0 0
71 slink /bin/printf busybox 777 0 0
72 slink /bin/test busybox 777 0 0
73 slink /bin/chroot busybox 777 0 0
74 slink /bin/env busybox 777 0 0
75 slink /bin/uevent busybox 777 0 0
76 slink /bin/find busybox 777 0 0
77 slink /bin/xargs busybox 777 0 0
78 slink /bin/modprobe busybox 777 0 0
79 slink /bin/sort busybox 777 0 0
80 slink /bin/uname busybox 777 0 0
81 slink /bin/sleep busybox 777 0 0
82 slink /bin/touch busybox 777 0 0
83 slink /bin/blkid busybox 777 0 0
84 slink /bin/findfs busybox 777 0 0
85 slink /bin/tr busybox 777 0 0
86 slink /bin/kill busybox 777 0 0
87 slink /bin/umount busybox 777 0 0
88 slink /bin/switch_root busybox 777 0 0
89
90 file /init PKGS_DIR_ROOT/init 0755 0 0
91 file /uevt.sh BUILDER_DIR/uevt.sh 0755 0 0
File builders/bootstrap/linux-5.12.1/patches.sh added (mode: 100755) (index 0000000..e60a50f)
1 #!/bin/sh
2 nyan_root=$1
3 pkg_dir=$2
4 if test -z "$nyan_root"; then
5 printf 'ERROR:missing nyan root\n' >&2
6 exit 1
7 else
8 printf "using nyan_root \"$nyan_root\"\n" >&2
9 fi
10 if test -z "$pkg_dir"; then
11 printf 'ERROR:missing linux source dir\n' >&2
12 exit 1
13 else
14 printf "using linux source dir \"$pkg_dir\"\n" >&2
15 fi
16
17 patches_dir=$(readlink -f $(dirname $0))
18 printf "patches dir is \"$patches_dir\"\n"
19
20 cd $pkg_dir
21 for p in $patches_dir/*.patch
22 do
23 cp -f $p .
24 if ! patch -p 1 -i $p; then
25 printf "failed patching \"$p\"\n"
26 exit 1
27 fi
28 done
29
30 # remove warnings on using C GCC
31 # XXX TODO
32 #######cp $patches_dir/warnings-compiler-gcc.h.patch.after .
33 #######patch -p 1 -i ./warnings-compiler-gcc.h.patch.after
File builders/bootstrap/linux-5.12.1/uevt.sh copied from file builders/initramfs-busybox-0/uevt.sh (similarity 100%)
File builders/bootstrap/linux-firmware/builder.sh added (mode: 100644) (index 0000000..e3a72f3)
1 . $nyan_root/conf.bootstrap.sh
2
3 url0=git://git.kernel.org/pub/scm/linux/kernel/git/firmware/$pkg_name.git
4
5 mkdir -p $pkgs_dir_root
6 pkg_dir=$pkgs_dir_root/$pkg_name
7 src_dir=$src_dir_root/$pkg_name
8 rm -Rf $pkg_dir
9 cp -Hr $src_dir $pkg_dir
10 rm -Rf $pkg_dir/.git
11 rm -Rf $bootstrap_target_sysroot/lib/firmware
12 mkdir -p $bootstrap_target_sysroot/lib
13 cp -Hrf $pkg_dir $bootstrap_target_sysroot/lib/firmware
14 rm -Rf $pkg_dir
File builders/bootstrap/linux-headers-5.12.1/builder.sh added (mode: 100644) (index 0000000..5d9e76a)
1 . $nyan_root/conf.bootstrap.sh
2 . $nyan_root/builders/bootstrap/linux/src_prolog.sh
3 ################################################################################
4 if test -e /bin/bash;then
5 mv /bin/bash /bin/bash.HIDDEN
6 fi
7 # it will generate the syscalls
8 # (for something that stable, it is kind of ...)
9 export "HOSTCFLAGS=$bootstrap_build_cppflags"
10 export "HOSTLDFLAGS=$bootstrap_build_ccld_flags"
11 export "HOSTCC=$bootstrap_build_cc"
12 export ARCH=$bootstrap_target_linux_arch
13 # It will fail due to some guy who inserted rsync here.
14 # Why not an apache server plus a cisco firewall plus a tcl/tk script plus a
15 # perl script plus a python script, and to finish an headless google/apple
16 # browser with javascript ?
17 # Those ppl need to open their eyes and grow, coze their work is plain toxic.
18 # Must override the makefile variable HOSTCC since the environment variable is
19 # ignored
20 make headers_install "HOSTCC=$HOSTCC" || true
21 unset HOSTCFLAGS
22 unset HOSTLDFLAGS
23 unset HOSTCC
24 unset ARCH
25 mkdir -p $bootstrap_target_sysroot/nyan/linux-headers/$version
26 cp -a $pkg_dir/usr/include $bootstrap_target_sysroot/nyan/linux-headers/$version
27 cd $bootstrap_target_sysroot/nyan/linux-headers
28 ln -sTf $version current
29 rm -f ./current/include/Makefile
30
31 if test -e /bin/bash.HIDDEN; then
32 mv /bin/bash.HIDDEN /bin/bash
33 fi
34 ################################################################################
35 . $nyan_root/builders/bootstrap/linux/src_epilog.sh
File builders/bootstrap/linux/release.sh added (mode: 100755) (index 0000000..58e08e2)
1 #!/bin/sh
2 printf "RELEASE.SH -- START\n" >&2
3 # OUTPUT ON STDOUT THE KERNEL RELEASE
4 nyan_root=$1
5 linux_config=$2
6 patched_linux_dir=$3
7
8 if test -z "$nyan_root"; then
9 printf 'ERROR:missing nyan root\n' >&2
10 exit 1
11 else
12 printf "using nyan_root \"$nyan_root\"\n" >&2
13 fi
14 if test -z "$linux_config"; then
15 printf 'ERROR:missing linux_config\n' >&2
16 exit 1
17 else
18 printf "using linux_config \"$linux_config\"\n" >&2
19 fi
20 if test ! -d "$patched_linux_dir"; then
21 printf 'ERROR:missing patched linux directory\n' >&2
22 exit 1
23 else
24 printf "using patched linux directory \"$patched_linux_dir\"\n" >&2
25 fi
26
27 . $nyan_root/conf.sh
28 . $nyan_root/conf.bootstrap.sh
29 . $nyan_root/utils.sh
30
31 cleanup()
32 {
33 if test -e /bin/bash.HIDDEN; then
34 mv /bin/bash.HIDDEN /bin/bash >&2
35 fi
36 if test $false_installed; then
37 rm -f /bin/false >&2
38 fi
39 if test $bracket_installed; then
40 rm -f '/bin/[' >&2
41 fi
42 rmdir /bin || true >&2
43 printf "RELEASE.SH -- END\n" >&2
44 }
45 trap cleanup EXIT
46 ################################################################################
47 if test -e /bin/bash;then
48 mv /bin/bash /bin/bash.HIDDEN >&2
49 fi
50 mkdir -p /bin >&2
51 export PATH=$PATH:/bin:$bootstrap_target_cross_toolchain/bin:/nyan/busybox/current/sbin:/nyan/busybox/current/bin
52 # linux sdk wants direct sh invocation
53 if ! command -v sh >/dev/null 2>/dev/null; then
54 printf 'no direct invocation of sh found, linux SDK will fail, exiting\n' >&2
55 exit 1;
56 fi
57 # linux sdk wants false in /bin
58 if test ! -x /bin/false; then
59 printf 'you are missing the false utility in /bin, using the one in PATH\n' >&2
60 find_in_path false
61 if test ! $r; then
62 printf 'no false utility found in PATH, linux SDK will fail, exiting\n' >&2
63 exit 1
64 fi
65 printf 'linking %s to /bin/false, will be removed on exiting\n' $r >&2
66 ln -sf $r /bin/false >&2
67 false_installed=1
68 fi
69 # linux sdk wants [ in /bin
70 if test ! -x '/bin/['; then
71 printf 'you are missing the "[" utility in /bin, using "test" in PATH\n' >&2
72 find_in_path test
73 if test ! $r; then
74 printf 'no test utility found in PATH, linux SDK will fail, exiting\n' >&2
75 exit 1
76 fi
77 printf 'linking %s to /bin/[, will be removed on exiting\n' $r >&2
78 ln -sf $r '/bin/[' >&2
79 bracket_installed=1
80 fi
81 export "KCONFIG_CONFIG=$linux_config"
82 export "HOSTCC=$bootstrap_build_cc"
83 export "HOSTCFLAGS=$bootstrap_build_cflags $bootstrap_build_cppflags"
84 export "HOSTLDFLAGS=$bootstrap_build_ccld_flags"
85 export ARCH=$bootstrap_target_linux_arch
86 export CROSS_COMPILE=$bootstrap_target_gnu_triple-
87 cd $patched_linux_dir
88 # HOSTCC environment variable seems ignored, overridding the makefile variable
89 make oldconfig "HOSTCC=$HOSTCC" >&2
90 make -s kernelrelease "HOSTCC=$HOSTCC"
91 make clean >&2
File builders/bootstrap/linux/src_epilog.sh added (mode: 100644) (index 0000000..4f71b70)
1 if test x$use_git != xyes; then
2 if test x$git_commit = x; then
3 rm -f $pkgs_dir_root/$archive_name
4 fi
5 fi
6 rm -Rf $pkg_dir
File builders/bootstrap/linux/src_prolog.sh added (mode: 100644) (index 0000000..23aea5c)
1 # XXX: a release archive, or git with a commit or a version tag
2 use_git=no
3 git_commit=
4 version=${pkg_name##*-}
5
6 if test x$use_git != xyes; then
7 archive_name=linux-$version.tar.xz
8 fi
9 if test x$git_commit = x; then
10 pkg_dir=$pkgs_dir_root/linux-$version
11 else
12 pkg_dir=$pkgs_dir_root/linux
13 fi
14 rm -Rf $pkg_dir
15 mkdir -p $pkgs_dir_root
16 printf 'copying linux source tree in ram...\n'
17 if test "x$use_git" = "xyes"; then
18 cp -r $src_dir_root/linux $pkg_dir
19 else
20 cp -f $src_dir_root/$archive_name $pkgs_dir_root
21 cd $pkgs_dir_root
22 tar xf $archive_name
23 fi
24 printf 'done\n'
25 cd $pkg_dir
26
27 if test x$use_git = xyes; then
28 git reset --hard
29 if test x$git_commit = x; then
30 git checkout v$version
31 else
32 git checkout $git_commit
33 fi
34 fi
File builders/bootstrap/make/builder.sh added (mode: 100644) (index 0000000..1e9692e)
1 . $nyan_root/conf.bootstrap.sh
2
3 src_name=make
4 version=4.3
5 slot=$version
6 archive_name=$src_name-$version.tar.gz
7 url0=http://ftp.gnu.org/gnu/make/$archive_name
8
9 pkg_dir=$pkgs_dir_root/$src_name-$version
10 rm -Rf $pkg_dir
11 mkdir -p $pkgs_dir_root
12 cp -f $src_dir_root/$archive_name $pkgs_dir_root
13 cd $pkgs_dir_root
14 tar xf $archive_name
15
16 build_dir=$builds_dir_root/$pkg_name-$version
17 rm -Rf $build_dir
18 mkdir -p $build_dir
19 cd $build_dir
20
21 PATH_SAVED=$PATH
22 export PATH=$PATH:$bootstrap_target_cross_toolchain/bin
23
24 export "CPPFLAGS=\
25 -isystem $bootstrap_target_sysroot/nyan/glibc/current/include \
26 -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include"
27 export "CFLAGS=-O2 -pipe -fPIC"
28 export "CC=$bootstrap_target_gnu_triple-gcc \
29 $CPPFLAGS \
30 -B$bootstrap_target_sysroot/nyan/glibc/current/lib \
31 -L$bootstrap_target_sysroot/nyan/glibc/current/lib \
32 -Wl,-s"
33 $pkg_dir/configure \
34 --prefix=/nyan/make/$slot \
35 --build=$bootstrap_build_gnu_triple \
36 --host=$bootstrap_target_gnu_triple \
37 --disable-nls
38 unset CPPFLAGS
39 unset CFLAGS
40 unset CC
41
42 make -j $threads_n
43 make install DESTDIR=$bootstrap_target_sysroot
44
45 ln -sTf $version $bootstrap_target_sysroot/nyan/$src_name/current
46
47 rm -Rf $bootstrap_target_sysroot/nyan/$src_name/current/share
48 rm -Rf $bootstrap_target_sysroot/nyan/$src_name/current/include
49
50 export PATH=$PATH_SAVED
51
52 rm -f $pkgs_dir_root/$archive_name
53 rm -Rf $pkg_dir $build_dir
File builders/bootstrap/mpc/builder.sh added (mode: 100644) (index 0000000..fd038f5)
1 . $nyan_root/conf.bootstrap.sh
2
3 src_name=mpc
4 slot=0
5 version=1.1.0
6 archive_name=mpc-$version.tar.gz
7 url0=http://ftpmirror.gnu.org/mpc/$archive_name
8
9 pkg_dir=$pkgs_dir_root/mpc-$version
10 rm -Rf $pkg_dir
11 mkdir -p $pkgs_dir_root
12 cp -f $src_dir_root/$archive_name $pkgs_dir_root
13 cd $pkgs_dir_root
14 tar xf $archive_name
15
16 build_dir=$builds_dir_root/$pkg_name-$version
17 rm -Rf $build_dir
18 mkdir -p $build_dir
19 cd $build_dir
20
21 PATH_SAVED=$PATH
22 export PATH=$PATH:$bootstrap_target_cross_toolchain/bin
23
24 # work out the right composition of flags to please the disgusting brain diareha
25 # which are meson/autotools/cmake/etc.
26 export "CPP=$bootstrap_target_gnu_triple-cpp"
27 export "CPPFLAGS=-isystem $bootstrap_target_sysroot/nyan/glibc/current/include -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include"
28 export "CFLAGS=-O2 -pipe -fPIC"
29 export "CC=$bootstrap_target_gnu_triple-gcc -B$bootstrap_target_sysroot/nyan/glibc/current/lib -L$bootstrap_target_sysroot/nyan/glibc/current/lib $CPPFLAGS"
30 $pkg_dir/configure \
31 --prefix=/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot \
32 --build=$bootstrap_build_gnu_triple \
33 --host=$bootstrap_target_gnu_triple \
34 --target=$bootstrap_target_gnu_triple \
35 --with-gmp=$bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot \
36 --with-mpfr=$bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot \
37 --disable-shared
38 unset CPP
39 unset CPPFLAGS
40 unset CFLAGS
41 unset CC
42
43 make -j $threads_n
44 make install DESTDIR=$bootstrap_target_sysroot
45 #cleanup
46 rm -f $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot/lib/libmpc.la
47 rm -Rf $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot/share
48
49 export PATH=$PATH_SAVED
50
51 rm -f $pkgs_dir_root/$archive_name
52 rm -Rf $pkg_dir $build_dir
File builders/bootstrap/mpfr/builder.sh added (mode: 100644) (index 0000000..c0000ed)
1 . $nyan_root/conf.bootstrap.sh
2
3 src_name=mpfr
4 slot=0
5 version=4.1.0
6 archive_name=mpfr-$version.tar.xz
7 url0=http://www.mpfr.org/mpfr-current/$archive_name
8
9 pkg_dir=$pkgs_dir_root/mpfr-$version
10 rm -Rf $pkg_dir
11 mkdir -p $pkgs_dir_root
12 cp -f $src_dir_root/$archive_name $pkgs_dir_root
13 cd $pkgs_dir_root
14 tar xf $archive_name
15
16 build_dir=$builds_dir_root/$pkg_name-$version
17 rm -Rf $build_dir
18 mkdir -p $build_dir
19 cd $build_dir
20
21 PATH_SAVED=$PATH
22 export PATH=$PATH:$bootstrap_target_cross_toolchain/bin
23
24 # work out the right composition of flags to please the disgusting brain diareha
25 # which are meson/autotools/cmake/etc.
26 export "CPP=$bootstrap_target_gnu_triple-cpp"
27 export "CPPFLAGS=-isystem $bootstrap_target_sysroot/nyan/glibc/current/include -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include"
28 export "CFLAGS=-O2 -pipe -fPIC"
29 export "CC=$bootstrap_target_gnu_triple-gcc -B$bootstrap_target_sysroot/nyan/glibc/current/lib -L$bootstrap_target_sysroot/nyan/glibc/current/lib $CPPFLAGS"
30 $pkg_dir/configure \
31 --prefix=/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot \
32 --build=$bootstrap_build_gnu_triple \
33 --host=$bootstrap_target_gnu_triple \
34 --target=$bootstrap_target_gnu_triple \
35 --with-gmp=$bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot \
36 --enable-thread-safe \
37 --enable-shared-cache \
38 --disable-shared
39 unset CPP
40 unset CPPFLAGS
41 unset CFLAGS
42 unset CC
43
44 make -j $threads_n
45 make install DESTDIR=$bootstrap_target_sysroot
46 #cleanup
47 rm -f $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot/lib/libmpfr.la
48 rm -Rf $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot/lib/pkgconfig
49 rm -Rf $bootstrap_target_sysroot/nyan/toolchains/binutils-2.36.1-gcc-4.7.4/$slot/share
50
51 export PATH=$PATH_SAVED
52
53 rm -f $pkgs_dir_root/$archive_name
54 rm -Rf $pkg_dir $build_dir
File builders/bootstrap/mudev/builder.sh added (mode: 100644) (index 0000000..02dfa8a)
1 . $nyan_root/conf.bootstrap.sh
2
3 src_name=mudev
4 slot=0
5 git_commit=40085e950e3a5dc811ddb4d44466f020f715c955
6 git_url0=git://git.launchpad.net/$src_name
7
8 src_dir=$src_dir_root/$src_name
9 pkg_dir=$pkgs_dir_root/$pkg_name
10 rm -Rf $pkg_dir
11 mkdir -p $pkgs_dir_root
12 cp -Hr $src_dir $pkg_dir
13
14 cd $pkg_dir
15
16 if test x$git_commit != x; then
17 git checkout --force $git_commit
18 git reset --hard
19 fi
20
21 build_dir=$builds_dir_root/$pkg_name
22 rm -Rf $build_dir
23 mkdir -p $build_dir
24 cd $build_dir
25
26 PATH_SAVED=$PATH
27 export PATH=$PATH:$bootstrap_target_cross_toolchain/bin
28
29 $pkg_dir/make \
30 --prefix=/nyan/$src_name/$slot \
31 --usb-database=/share/hwdata/usb.ids \
32 --pci-database=/share/hwdata/pci.ids \
33 --disable-static \
34 --enable-logging \
35 "--dbin-cc=$bootstrap_target_gnu_triple-gcc -std=c99 -O2 -pipe -fPIC -c -isystem $bootstrap_target_sysroot/nyan/glibc/current/include -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include" \
36 "--dbin-ccld=$bootstrap_target_gnu_triple-gcc -B$bootstrap_target_sysroot/nyan/glibc/current/lib -L$bootstrap_target_sysroot/nyan/glibc/current/lib -Wl,-s -Wl,-rpath-link,$bootstrap_target_sysroot/nyan/glibc/current/lib -static-libgcc" \
37 "--dslibudev-cc=$bootstrap_target_gnu_triple-gcc -std=c99 -O2 -pipe -fPIC -c -isystem $bootstrap_target_sysroot/nyan/glibc/current/include -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include" \
38 "--dslibudev-ccld=$bootstrap_target_gnu_triple-gcc -shared -B$bootstrap_target_sysroot/nyan/glibc/current/lib -L$bootstrap_target_sysroot/nyan/glibc/current/lib -Wl,-s -Wl,-rpath-link,$bootstrap_target_sysroot/nyan/glibc/current/lib -static-libgcc -Wl,-soname,libudev.so.0"
39
40 rm -Rf $bootstrap_target_sysroot/nyan/$src_name/$slot
41 cp -r $build_dir/fake_root/* $bootstrap_target_sysroot
42 ln -sTf 0 $bootstrap_target_sysroot/nyan/$src_name/current
43
44 # add/update the hardware data from the src dir
45 mkdir -p $bootstrap_target_sysroot/share/hwdata
46 cp $src_dir_root/pci.ids $bootstrap_target_sysroot/share/hwdata
47 cp $src_dir_root/usb.ids $bootstrap_target_sysroot/share/hwdata
48
49 export PATH=$PATH_SAVED
50 rm -Rf $build_dir $pkg_dir
File builders/bootstrap/muinit/builder.sh added (mode: 100644) (index 0000000..859ba17)
1 . $nyan_root/conf.bootstrap.sh
2
3 src_name=muinit
4 slot=0
5 git_commit=7c7afb00373813e61be259bae2c097642e717dee
6 git_url0=git://github.com/sylware/$src_name
7
8 pkg_dir=$pkgs_dir_root/$pkg_name
9 src_dir=$src_dir_root/$src_name
10 rm -Rf $pkg_dir
11 mkdir -p $pkgs_dir_root
12 cp -Hr $src_dir $pkg_dir
13
14 cd $pkg_dir
15
16 if test "x$git_commit" != x; then
17 git checkout --force $git_commit
18 git reset --hard
19 fi
20
21 build_dir=$builds_dir_root/$pkg_name
22 rm -Rf $build_dir
23 mkdir -p $build_dir
24 cd $build_dir
25
26 PATH_SAVED=$PATH
27 export PATH=$PATH:$bootstrap_target_cross_toolchain/bin
28
29 $pkg_dir/make \
30 --no-tty \
31 --init-cpp=$bootstrap_target_gnu_triple-cpp \
32 "--init-cc=$bootstrap_target_gnu_triple-gcc -nostdinc -O2 -c" \
33 "--init-ld=$bootstrap_target_gnu_triple-ld -nostdlib -O10 -s" \
34 "--init-ulinux-arch=$bootstrap_target_linux_arch"
35
36 mkdir -p $bootstrap_target_sysroot/nyan/$src_name/0/bin
37 cp -f $build_dir/init $bootstrap_target_sysroot/nyan/$src_name/0/bin
38 ln -sTf 0 $bootstrap_target_sysroot/nyan/$src_name/current
39
40 mkdir -p $bootstrap_target_sysroot/bin
41 ln -sTf /nyan/$src_name/current/bin/init $bootstrap_target_sysroot/bin/init
42 cp -f $nyan_root/builders/bootstrap/$pkg_name/sysstart $bootstrap_target_sysroot/bin
43 chmod 755 $bootstrap_target_sysroot/bin/sysstart
44
45 export PATH=$PATH_SAVED
46 rm -Rf $build_dir $pkg_dir
File builders/bootstrap/muinit/sysstart added (mode: 100755) (index 0000000..5e7cae9)
1 #!/nyan/busybox/current/bin/ash
2 umask 022
3
4 export "LD_LIBRARY_PATH=\
5 /nyan/mudev/current/lib"
6
7 export "PATH=\
8 /nyan/busybox/current/bin:/nyan/busybox/current/sbin:\
9 /nyan/mudev/current/bin"
10
11 mkdir /proc
12 mount -o nosuid,nodev,noexec,relatime -t proc proc /proc
13
14 printf '/nyan/busybox/current/sbin/modprobe' >/proc/sys/kernel/modprobe
15 printf 'freedom' >/proc/sys/kernel/hostname
16
17 ln -sTf /proc/self/mounts /etc/mtab
18
19 mkdir /sys
20 mount -o nosuid,nodev,noexec,relatime -t sysfs sysfs /sys
21 mkdir /dev
22 mount -o exec,nosuid,relatime -t devtmpfs devtmpfs /dev
23
24 ln -sf null /dev/log
25
26 mkdir -p /dev/pts
27 mount -o relatime -t devpts devpts /dev/pts
28
29 mkdir -p /dev/shm
30 mount -o nosuid,nodev,noexec,relatime -t tmpfs tmpfs /dev/shm
31 chmod 1777 /dev/shm
32
33 rm -Rf /run
34 mkdir /run
35 mount -o nosuid,nodev,relatime -t tmpfs tmpfs /run
36 mkdir /run/shm
37 chmod 1777 /run/shm
38 mkdir /run/lock
39 chmod 1777 /run/lock
40
41 mkdir -p /run/user/1000
42 chown 1000:1000 /run/user/1000
43
44 mkdir /tmp
45 chmod 1777 /tmp
46 for f in $(ls -A /tmp); do
47 rm -Rf /tmp/$f
48 done
49
50 for f in $(ls -A /var/run); do
51 rm -Rf /var/run/$f
52 done
53
54 modprobe unix
55 dudevd --daemon
56 dudevadm trigger --type=subsystems --action=add
57 dudevadm settle
58 dudevadm trigger --type=devices --action=add
59 dudevadm settle
60
61 #ip addr add 127.0.0.1/8 dev lo
62 #ip addr add 192.168.0.16/24 dev eth0
63 #ip link set dev lo up
64 #ip link set dev eth0 up
65 #ip route add default via 192.168.0.1 dev eth0
66 #(modprobe ipv6; echo 1 >/proc/sys/net/ipv6/conf/all/disable_ipv6) &
67
68 # presume the framebuffer modular console driver will end up in vtcon1
69 printf '1' >/sys/devices/virtual/vtconsole/vtcon1/bind
70 # busybox ash will need a controlling terminal, tty0 is tty1, console is tty0
71 setsid -c env -i /bin/sh -i </dev/tty1 >/dev/tty1 2>/dev/tty1 &
72 setsid -c env -i /bin/sh -i </dev/tty2 >/dev/tty2 2>/dev/tty2 &
File builders/bootstrap/nyanglibc/builder.sh added (mode: 100644) (index 0000000..90cf159)
1 . $nyan_root/conf.bootstrap.sh
2
3 git_commit=e7d409cf324276b1799af358a0c882d5fefeacab
4 src_name=nyanglibc
5 url0=https://repo.or.cz/nyanglibc.git
6
7 src_dir=$pkgs_dir_root/$src_name
8 rm -Rf $src_dir
9 mkdir -p $pkgs_dir_root
10 cp -aH $src_dir_root/$src_name $pkgs_dir_root
11 cd $pkgs_dir_root/$src_name
12
13 if test "x$git_commit" != "x"; then
14 git checkout $git_commit
15 git reset --hard
16 fi
17
18 # assemble/link
19 sed -E -e '5 c\
20 conf_prefix=/nyan/glibc/0' -i ./make_x86_64_libs.sh
21 sed -E -e '8,11 d' -i ./make_x86_64_libs.sh
22 sed -E -e "7 a\
23 as=\"$bootstrap_target_cross_toolchain/bin/$bootstrap_target_gnu_triple-as\"\n\
24 ld=\"$bootstrap_target_cross_toolchain/bin/$bootstrap_target_gnu_triple-ld\"\n\
25 ar=\"$bootstrap_target_cross_toolchain/bin/$bootstrap_target_gnu_triple-ar\"\n\
26 cpp=\"$bootstrap_build_cpp\"" -i ./make_x86_64_libs.sh
27 # install runtime
28 sed -E -e '5,6 d' -i ./install_runtime.sh
29 sed -E -e "4 a\
30 destdir=$bootstrap_target_sysroot\n\
31 prefix=/nyan/glibc/0" -i ./install_runtime.sh
32 # install dev
33 sed -E -e '5,6 d' -i ./install_dev.sh
34 sed -E -e "4 a\
35 destdir=$bootstrap_target_sysroot\n\
36 prefix=/nyan/glibc/0" -i ./install_dev.sh
37
38 build_dir=$builds_dir_root/$src_name
39 rm -Rf $build_dir
40 mkdir -p $build_dir
41 cd $build_dir
42
43 $src_dir/make_x86_64_libs.sh
44 $src_dir/install_runtime.sh
45 $src_dir/install_dev.sh
46
47 rm -Rf $src_dir $build_dir
48
49 # x86_64 ABI standard elf loader name and location
50 cd $bootstrap_target_sysroot
51 mkdir -p ./lib64
52 cd ./lib64
53 ln -sTf /nyan/glibc/current/lib/ld-linux-x86-64.so.2 ld-linux-x86-64.so.2
54 cd $bootstrap_target_sysroot/nyan/glibc
55 ln -sTf 0 current
File builders/bootstrap/zlib/builder.sh added (mode: 100644) (index 0000000..957f721)
1 . $nyan_root/conf.bootstrap.sh
2
3 src_name=zlib
4 slot=0
5 version=1.2.11
6 archive_name=$src_name-$version.tar.xz
7 url0=http://zlib.net/$archive_name
8
9 pkg_dir=$pkgs_dir_root/$src_name-$version
10 rm -Rf $pkg_dir
11 mkdir -p $pkgs_dir_root
12 cp -f $src_dir_root/$archive_name $pkgs_dir_root
13 cd $pkgs_dir_root
14 tar xf $archive_name
15 cd $pkg_dir
16
17 PATH_SAVED=$PATH
18 export PATH=$PATH:$bootstrap_target_cross_toolchain/bin
19
20 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
21 export "CFLAGS=-isystem $bootstrap_target_sysroot/nyan/glibc/current/include -isystem $bootstrap_target_sysroot/nyan/linux-headers/current/include -B$bootstrap_target_sysroot/nyan/glibc/current/lib -L$bootstrap_target_sysroot/nyan/glibc/current/lib -Wl,-s -Wl,-rpath-link,$bootstrap_target_sysroot/nyan/glibc/current/lib -O2 -pipe -fPIC -static-libgcc -Wno-error"
22 export CHOST=$bootstrap_target_gnu_triple
23 ./configure --prefix=/nyan/zlib/$slot
24
25 make -j $threads_n
26 make install DESTDIR=$bootstrap_target_sysroot
27 unset CHOST
28 unset CFLAGS
29
30 $bootstrap_target_gnu_triple-strip -s $bootstrap_target_sysroot/nyan/$src_name/$slot/lib/libz.so.1
31 ln -sTf 0 $bootstrap_target_sysroot/nyan/$src_name/current
32
33 export PATH=$PATH_SAVED
34
35 # cleanup and tidying
36 rm -Rf $bootstrap_target_sysroot/nyan/$src_name/$slot/share
37 rm -f $pkgs_dir_root/$archive_name
38 rm -Rf $build_dir $pkg_dir
File builders/chrony-0/builder-target.sh deleted (index a9ad82d..0000000)
1 src_name=chrony
2 version=3.3
3 archive_name=$src_name-$version.tar.gz
4 url0=http://download.tuxfamily.org/$src_name/$archive_name
5
6 src_dir=$src_dir_root/$src_name-$version
7 cd $src_dir_root
8 rm -Rf $pkg_name-$version
9 tar xf $archive_name
10
11 cd $src_dir
12
13 OLD_PATH=$PATH
14 export PATH=$cross_toolchain_dir_root/bin:$PATH
15
16 export PKG_CONFIG_LIBDIR=$target_sysroot/nyan/nettle/0/lib/pkgconfig
17 export PKG_CONFIG_SYSROOT_DIR=$target_sysroot
18
19 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
20 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
21 export 'CFLAGS=-O2 -pipe -fPIC'
22 ./configure \
23 --build=$build_gnu_triple \
24 --host=$target_gnu_triple \
25 --prefix=/nyan/chrony/0 \
26 --without-readline \
27 --without-editline \
28 --without-nss \
29 --without-tomcrypt \
30 --without-libcap \
31 --without-seccomp
32 unset CFLAGS
33 unset CC
34
35 make
36 make install DESTDIR=$target_sysroot
37
38 # cleanup and tidying
39 rm -Rf $target_sysroot/nyan/$src_name/0/share
40 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/chronyc
41 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/sbin/chronyd
42
43 rm -Rf $src_dir
44 export PATH=$OLD_PATH
File builders/coreutils-0/builder-target.sh deleted (index bddc125..0000000)
1 src_name=coreutils
2 git_commit=d1a754c827251d224ae5b7dda7f8d8c26d5940b5
3 git_url0=git://git.savannah.gnu.org/$src_name.git
4
5 gnulib_git_commit=f5f067f896b71a96c882b96c35759aeea2fa3072
6 gnulib_git_url0=git://git.savannah.gnu.org/gnulib.git
7
8 pkg_dir=$pkgs_dir_root/$pkg_name
9 src_dir=$src_dir_root/$src_name
10 rm -Rf $pkg_dir
11 mkdir -p $pkgs_dir_root
12 cp -r $src_dir $pkg_dir
13
14 #-------------------------------------------------------------------------------
15 cd $pkg_dir
16 # we do trust the version of the gnulib
17 git checkout --force $git_commit
18 git reset --hard
19
20 # the following has is pure abomination (and those doing that think they are
21 # smart... but are actually insane)
22 # no need of rsync
23 sed -i '/^rsync/ d' ./bootstrap.conf
24 OLD_PATH=$PATH
25 export PATH=$sdk_gettext_path/bin:$sdk_texinfo_path/bin:$sdk_perl_path/bin:$PATH
26 PERL=$sdk_perl_path/bin/perl ./bootstrap --gnulib-srcdir=$src_dir_root/gnulib --copy --no-git --skip-po
27 export PATH=$OLD_PATH
28 #-------------------------------------------------------------------------------
29
30 build_dir=$builds_dir_root/$pkg_name-$target_gnu_triple
31 rm -Rf $build_dir
32 mkdir -p $build_dir
33 cd $build_dir
34
35 OLD_PATH=$PATH
36 export PATH=$cross_toolchain_dir_root/bin:$sdk_texinfo_path/bin:$PATH
37
38 # WARNING:gmp 6.1.2 has some assembly which can not go into shared object
39 export "CPPFLAGS=-I$target_sysroot/nyan/toolchains/0/include"
40 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
41 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
42 export 'CFLAGS=-O2 -pipe -fPIC -Wno-error'
43 export PERL=$sdk_perl_path/bin/perl
44 $pkg_dir/configure \
45 --build=$build_gnu_triple \
46 --host=$target_gnu_triple \
47 --prefix=/nyan/coreutils/0 \
48 --enable-threads=posix \
49 --disable-acl \
50 --disable-assert \
51 --disable-rpath \
52 --disable-libsmack \
53 --disable-xattr \
54 --disable-libcap \
55 --enable-single-binary \
56 --disable-nls \
57 --without-included-regex \
58 --without-selinux \
59 --with-gmp
60 unset PERL
61 unset CFLAGS
62 unset CC
63 unset CPPFLAGS
64
65 make -j $threads_n
66 make install DESTDIR=$target_sysroot
67
68 # cleanup and tidying
69 rm -Rf $target_sysroot/nyan/$src_name/0/share
70 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/$src_name
71 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/libexec/$src_name/libstdbuf.so
72
73 rm -Rf $build_dir $pkg_dir
74 export PATH=$OLD_PATH
File builders/cross-binutils/builder.sh deleted (index 9b71033..0000000)
1 version=2.30
2 archive_name=binutils-$version.tar.xz
3 url0=http://ftpmirror.gnu.org/binutils/$archive_name
4
5 src_dir=$src_dir_root/binutils-$version
6 rm -Rf $src_dir
7 cd $src_dir_root
8 tar xf $archive_name
9
10 build_dir=$builds_dir_root/$pkg_name-$version
11 rm -Rf $build_dir
12 mkdir -p $build_dir
13 cd $build_dir
14
15 ld_conf_opts=--enable-gold=no
16 gas_conf_opts=--disable-checks
17 bfd_conf_opts=--with-mmap
18
19 # WARNING: do not configure with-sysroot option as gcc compilers driver will
20 # pass the sysroot command line option
21 export 'CFLAGS=-O2 -pipe -fPIC'
22 $src_dir/configure \
23 --target=$target_gnu_triple \
24 --prefix=$cross_toolchain_dir_root \
25 --with-gmp=$cross_toolchain_dir_root \
26 --with-mpfr=$cross_toolchain_dir_root \
27 --with-mpc=$cross_toolchain_dir_root \
28 --disable-host-shared \
29 --disable-multilib \
30 --enable-plugins \
31 --disable-nls \
32 $ld_conf_opts \
33 $gas_conf_opts \
34 $bfd_conf_opts
35 unset CFLAGS
36
37 make -j $threads_n
38 #The real installation is in $cross_toolchain_dir_root/$target_gnu_triple, and it is where gcc will look for them at runtime.
39 #The $target_gnu_triple prefixed binaries in $target_gnu_triple/bin are just for consistency with gcc binaries...
40 make install
41
42 rm -Rf $src_dir $build_dir
File builders/cross-gcc-compilers/builder.sh deleted (index 9dd3880..0000000)
1 src_name=gcc
2 version=7.3.0
3 archive_name=$src_name-$version.tar.xz
4 url0=ftp://ftp.lip6.fr/pub/$src_name/releases/$src_name-$version/$archive_name
5
6 . $nyan_root/builders/gcc-common/fragments.sh
7
8 src_dir=$src_dir_root/$src_name-$version
9 rm -Rf $src_dir
10 cd $src_dir_root
11 tar xf $archive_name
12
13 build_dir=$builds_dir_root/$pkg_name
14 rm -Rf $build_dir
15 mkdir -p $build_dir
16 cd $build_dir
17
18 cross_gcc_compilers_configure
19
20 make -j $threads_n all-gcc
21 make install-gcc
22
23 make all-target-libgcc
24 make install-target-libgcc
25
26 make all-target-libstdc++-v3
27 make install-target-libstdc++-v3
28
29 # clear .la files
30 find $cross_toolchain_dir_root -name '*.la' | xargs rm -f
31
32 rm -Rf $build_dir $src_dir
File builders/cross-gmp/builder.sh deleted (index d5538dd..0000000)
1 version=6.1.2
2 archive_name=gmp-$version.tar.xz
3 url0=https://gmplib.org/download/gmp/$archive_name
4
5 src_dir=$src_dir_root/gmp-$version
6 rm -Rf $src_dir
7 cd $src_dir_root
8 tar xf $archive_name
9
10 build_dir=$builds_dir_root/$pkg_name-$version
11 rm -Rf $build_dir
12 mkdir -p $build_dir
13 cd $build_dir
14
15 export 'CFLAGS=-O2 -pipe -fPIC'
16 $src_dir/configure \
17 --prefix=$cross_toolchain_dir_root \
18 --disable-shared
19 unset CFLAGS
20
21 make -j $threads_n
22 make install
23
24 rm -Rf $src_dir $build_dir
File builders/cross-mpc/builder.sh deleted (index 58060aa..0000000)
1 version=1.1.0
2 archive_name=mpc-$version.tar.gz
3 url0=http://ftpmirror.gnu.org/mpc/$archive_name
4
5 src_dir=$src_dir_root/mpc-$version
6 rm -Rf $src_dir
7 cd $src_dir_root
8 tar xf $archive_name
9
10 build_dir=$builds_dir_root/$pkg_name-$version
11 rm -Rf $build_dir
12 mkdir -p $build_dir
13 cd $build_dir
14
15 export 'CFLAGS=-O2 -pipe -fPIC'
16 $src_dir/configure \
17 --prefix=$cross_toolchain_dir_root \
18 --with-gmp=$cross_toolchain_dir_root \
19 --with-mpfr=$cross_toolchain_dir_root \
20 --disable-shared
21 unset CFLAGS
22
23 make -j $threads_n
24 make install
25
26 rm -Rf $src_dir $build_dir
File builders/cross-mpfr/builder.sh deleted (index a0285c3..0000000)
1 version=4.0.1
2 archive_name=mpfr-$version.tar.xz
3 url0=http://www.mpfr.org/mpfr-current/$archive_name
4
5 src_dir=$src_dir_root/mpfr-$version
6 rm -Rf $src_dir
7 cd $src_dir_root
8 tar xf $archive_name
9
10 build_dir=$builds_dir_root/$pkg_name-$version
11 rm -Rf $build_dir
12 mkdir -p $build_dir
13 cd $build_dir
14
15 export 'CFLAGS=-O2 -pipe -fPIC'
16 $src_dir/configure \
17 --prefix=$cross_toolchain_dir_root \
18 --with-gmp=$cross_toolchain_dir_root \
19 --disable-shared
20 unset CFLAGS
21
22 make -j $threads_n
23 make install
24
25 rm -Rf $src_dir $build_dir
File builders/curl-7.77.0/builder.sh added (mode: 100644) (index 0000000..fee49c3)
1 src_name=curl
2 version=${pkg_name##*-}
3 slot=$version
4 archive_name=$src_name-$version.tar.xz
5 url0=http://curl.haxx.se/download/$archive_name
6
7 pkg_dir=$pkgs_dir_root/$src_name-$version
8 rm -Rf $pkg_dir
9 mkdir -p $pkgs_dir_root
10 cp -f $src_dir_root/$archive_name $pkgs_dir_root
11 cd $pkgs_dir_root
12 tar xf $archive_name
13
14 build_dir=$builds_dir_root/$src_name-$version
15 rm -Rf $build_dir
16 mkdir -p $build_dir
17 cd $build_dir
18
19 PATH_SAVED=$PATH
20 export PATH="\
21 /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin:\
22 /nyan/make/current/bin:\
23 $PATH\
24 "
25 target_gnu_triple=$(basename "$(ls -d /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/*-gcc)")
26 target_gnu_triple=${target_gnu_triple%-gcc}
27
28 export "CFLAGS=-O2 -pipe -fPIC"
29 export "CC=$target_gnu_triple-gcc \
30 -isystem /nyan/glibc/current/include \
31 -isystem /nyan/linux-headers/current/include \
32 -B/nyan/glibc/current/lib \
33 -L/nyan/glibc/current/lib \
34 -Wl,-rpath-link,/nyan/glibc/current/lib \
35 -Wl,-s \
36 -static-libgcc"
37 export AR=$target_gnu_triple-ar
38 export PATH_SEPARATOR=:
39 $pkg_dir/configure \
40 --prefix=/nyan/curl/$slot \
41 --disable-debug \
42 --enable-optimize \
43 --disable-curldebug \
44 --enable-symbol-hiding \
45 --disable-ares \
46 --disable-shared \
47 --enable-http \
48 --enable-ftp \
49 --disable-file \
50 --disable-ldap \
51 --disable-ldaps \
52 --disable-rtsp \
53 --disable-proxy \
54 --disable-dict \
55 --disable-telnet \
56 --disable-tftp \
57 --disable-pop3 \
58 --disable-imap \
59 --disable-smb \
60 --disable-smtp \
61 --disable-gopher \
62 --disable-mqtt \
63 --enable-manual \
64 --enable-ipv6 \
65 --disable-versioned-symbols \
66 --enable-threaded-resolver \
67 --enable-pthreads \
68 --enable-verbose \
69 --disable-sspi \
70 --disable-ntlm-wb \
71 --disable-tls-srp \
72 --enable-cookies \
73 --with-zlib=/nyan/zlib/current \
74 --without-brotli \
75 --with-openssl=/nyan/libressl/current \
76 --without-gnutls \
77 --without-mbedtls \
78 --without-wolfssl \
79 --without-mesalink \
80 --without-bearssl \
81 --without-rustssl \
82 --without-nss \
83 --with-ca-fallback \
84 --without-libssh2 \
85 --without-libssh \
86 --without-libwolfssh \
87 --without-librtmp \
88 --without-libidn2 \
89 --without-nghttp2 \
90 --without-ngtcp2 \
91 --without-nghttp3 \
92 --without-quiche \
93 --without-hyper
94 unset CFLAGS
95 unset CC
96 unset AR
97
98 make -j $threads_n
99 make install
100 unset PATH_SEPARATOR
101
102 # cleanup and tidying
103 rm -Rf /nyan/$src_name/$slot/share/man
104 rm -f /nyan/$src_name/$slot/lib/*.la
105
106 export PATH=$PATH_SAVED
107 unset PATH_SAVED
108 unset target_gnu_triple
109 rm -f $pkgs_dir_root/$archive_name
110 rm -Rf $build_dir $pkg_dir
File builders/dash-0/builder-target.sh deleted (index 8a8e17b..0000000)
1 src_name=dash
2 # the following commit broke dash
3 #git_commit=ab1cecb4047864afb247a6ed691e7f59ce716f2c
4 # the lastest working commit
5 git_commit=6bbc71d84bea101370830dc3272f51c5ec1a7a78
6 git_url0=git://git.kernel.org/pub/scm/utils/$src_name/$src_name.git
7
8 pkg_dir=$pkgs_dir_root/$pkg_name
9 src_dir=$src_dir_root/$src_name
10 rm -Rf $pkg_dir
11 mkdir -p $pkgs_dir_root
12 cp -r $src_dir $pkg_dir
13
14 cd $pkg_dir
15
16 git checkout --force $git_commit
17 git reset --hard
18
19 ./autogen.sh
20
21 build_dir=$builds_dir_root/$pkg_name-$target_gnu_triple
22 rm -Rf $build_dir
23 mkdir -p $build_dir
24 cd $build_dir
25
26 OLD_PATH=$PATH
27 export PATH=$cross_toolchain_dir_root/bin:$PATH
28
29 export CC_FOR_BUILD=gcc
30 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
31 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
32 export 'CFLAGS=-O2 -pipe'
33 $pkg_dir/configure \
34 --build=$build_gnu_triple \
35 --host=$target_gnu_triple \
36 --prefix=/nyan/dash/0 \
37 --disable-fnmatch \
38 --disable-glob
39 unset CFLAGS
40 unset CC
41 unset CC_FOR_BUILD
42
43 make
44 make install DESTDIR=$target_sysroot
45
46 # cleanup and tidying
47 rm -Rf $target_sysroot/nyan/dash/0/share
48 $target_gnu_triple-strip -s $target_sysroot/nyan/dash/0/bin/dash
49
50 rm -Rf $build_dir $pkg_dir
51
52 export PATH=$OLD_PATH
File builders/dhcp-0/builder-target.sh deleted (index a2c70b3..0000000)
1 src_name=dhcp
2 major=4
3 minor=4
4 micro=1
5 version=$major.$minor.$micro
6 archive_name=$src_name-$version.tar.gz
7 url0=https://www.isc.org/downloads/file/$src_name-$major-$minor-$micro/?version=tar-gz
8
9 src_dir=$src_dir_root/$src_name-$version
10 cd $src_dir_root
11 rm -Rf $pkg_name-$version
12 tar xf $archive_name
13
14 build_dir=$builds_dir_root/$pkg_name-$version-$target_gnu_triple
15 rm -Rf $build_dir
16 mkdir -p $build_dir
17 cd $build_dir
18
19 OLD_PATH=$PATH
20 export PATH=$cross_toolchain_dir_root/bin:$PATH
21
22 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
23 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
24 export 'CFLAGS=-O2 -pipe -fPIC -w'
25 # configure wants a full path
26 export AR=$cross_toolchain_dir_root/bin/$target_gnu_triple-ar
27 $src_dir/configure \
28 --build=$build_gnu_triple \
29 --host=$target_gnu_triple \
30 --prefix=/nyan/dhcp/0 \
31 --with-randomdev=/dev/random \
32 --disable-dhcpv6
33 unset AR
34 unset CFLAGS
35 unset CC
36
37 # code generation needs that crap of perl
38 export PATH=$sdk_perl_path/bin:$PATH
39
40 # parallel build is not supported
41 make AR=$cross_toolchain_dir_root/bin/$target_gnu_triple-ar
42 make install DESTDIR=$target_sysroot
43
44 # install our dhcp client script (see sysstart to how get dhcp configuration)
45 cp -f $nyan_root/files/nyandhcp $target_sysroot/bin
46
47 # cleanup and tidying
48 rm -Rf $target_sysroot/nyan/$src_name/0/share
49 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/* || true
50 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/sbin/* || true
51
52 rm -Rf $build_dir $src_dir
53 export PATH=$OLD_PATH
File builders/diffutils-0/builder-target.sh deleted (index d09c9e8..0000000)
1 src_name=diffutils
2 git_commit=9b87043d8d8fb977ac07db074289571ac745e493
3 git_url0=git://git.savannah.gnu.org/$src_name.git
4
5 gnulib_git_commit=f5f067f896b71a96c882b96c35759aeea2fa3072
6 gnulib_git_url0=git://git.savannah.gnu.org/gnulib.git
7
8 pkg_dir=$pkgs_dir_root/$pkg_name
9 src_dir=$src_dir_root/$src_name
10 rm -Rf $pkg_dir
11 mkdir -p $pkgs_dir_root
12 cp -r $src_dir $pkg_dir
13
14 #-------------------------------------------------------------------------------
15 cd $pkg_dir
16 # we do trust the version of the gnulib
17 git checkout --force $git_commit
18 git reset --hard
19
20 # fix internal help2man perl path
21 sed -i "1 c#!$sdk_perl_path/bin/perl -w" $pkg_dir/man/help2man
22
23 # the following has is pure abomination (and those doing that think they are
24 # smart... but are actually insane)
25 # no need of rsync
26 sed -i '/^rsync/ d' ./bootstrap.conf
27 OLD_PATH=$PATH
28 export PATH=$sdk_gettext_path/bin:$sdk_texinfo_path/bin:$sdk_help2man_path/bin:$sdk_perl_path/bin:$PATH
29 PERL=$sdk_perl_path/bin/perl ./bootstrap --gnulib-srcdir=$src_dir_root/gnulib --copy --no-git --skip-po
30 export PATH=$OLD_PATH
31 #-------------------------------------------------------------------------------
32
33 build_dir=$builds_dir_root/$pkg_name-$target_gnu_triple
34 rm -Rf $build_dir
35 mkdir -p $build_dir
36 cd $build_dir
37
38 OLD_PATH=$PATH
39 export PATH=$cross_toolchain_dir_root/bin:$sdk_texinfo_path/bin:$sdk_help2man_path/bin:$PATH
40
41 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
42 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
43 export 'CFLAGS=-O2 -pipe -fPIC'
44 $pkg_dir/configure \
45 --build=$build_gnu_triple \
46 --host=$target_gnu_triple \
47 --prefix=/nyan/diffutils/0 \
48 --disable-nls \
49 --without-included-regex
50 unset CFLAGS
51 unset CC
52
53 make -j $threads_n
54 make install DESTDIR=$target_sysroot
55
56 # cleanup and tidying
57 rm -Rf $target_sysroot/nyan/$src_name/0/share
58 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/*
59
60 rm -Rf $build_dir $pkg_dir
File builders/dosfstools-0/builder.sh deleted (index e17351b..0000000)
1 src_name=dosfstools
2 version=4.1
3 archive_name=$src_name-$version.tar.xz
4 url0=
5
6 slot=0
7
8 src_dir=$src_dir_root/$src_name-$version
9 cd $src_dir_root
10 rm -Rf $src_name-$version
11 tar xf $archive_name
12
13 build_dir=$builds_dir_root/$pkg_name-$version
14 rm -Rf $build_dir
15 mkdir -p $build_dir
16 cd $build_dir
17
18 export "CC=gcc -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib -static-libgcc"
19 export 'CFLAGS=-O2 -pipe -fPIC'
20 $src_dir/configure \
21 --prefix=/nyan/$src_name/$slot \
22 --without-udev
23 unset CC
24 unset CFLAGS
25
26 make -j $threads_n
27 make install
28
29 # cleanup and tidying
30 rm -Rf /nyan/$src_name/$slot/share
31 find /nyan/$src_name/$slot -type f | while read f; do if file $f | egrep 'ELF.+(shared|executable)' >/dev/null; then strip -s $f; fi; done
32
33 rm -Rf $build_dir $src_dir
File builders/e2fsprogs-1.46.2/builder.sh added (mode: 100644) (index 0000000..92f5ab3)
1 src_name=e2fsprogs
2 version=1.46.2
3 slot=$version
4 archive_name=$src_name-$version.tar.xz
5 url0=https://www.kernel.org/pub/linux/kernel/people/tytso/$src_name/v$version/$archive_name
6
7 pkg_dir=$pkgs_dir_root/$src_name-$version
8 rm -Rf $pkg_dir
9 mkdir -p $pkgs_dir_root
10 cp -f $src_dir_root/$archive_name $pkgs_dir_root
11 cd $pkgs_dir_root
12 tar xf $archive_name
13
14 cd $pkg_dir
15 # jez...
16 sed -r -e 's/\$\(MANPAGES\)//g;s/\$\(FMANPAGES\)//g' -i $pkg_dir/e2fsck/Makefile.in
17 sed -r -e 's/\$\(SMANPAGES\)//g;s/\$\(FMANPAGES\)//g;s/\$\(UMANPAGES\)//g' -i $pkg_dir/misc/Makefile.in
18
19 build_dir=$builds_dir_root/$pkg_name-$version
20 rm -Rf $build_dir
21 mkdir -p $build_dir
22 cd $build_dir
23
24 PATH_SAVED=$PATH
25 # it wants echo in /bin... jez...
26 ln -sTf /nyan/busybox/current/bin/echo /bin/echo
27 export "PATH=\
28 /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin:\
29 /nyan/make/current/bin:\
30 $PATH\
31 "
32 target_gnu_triple=$(basename "$(ls -d /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/*-gcc)")
33 target_gnu_triple=${target_gnu_triple%-gcc}
34
35 export 'CFLAGS=-O2 -pipe -fPIC'
36 export "CC=$target_gnu_triple-gcc \
37 -isystem /nyan/glibc/current/include \
38 -isystem /nyan/linux-headers/current/include \
39 -B/nyan/glibc/current/lib \
40 -Wl,-rpath-link,/nyan/glibc/current/lib \
41 -Wl,-s \
42 -static-libgcc"
43 export AR=$target_gnu_triple-ar
44 # must create those paths or the installation sdk script will explode, lol
45 mkdir -p /nyan/$src_name/$slot/bin
46 mkdir -p /nyan/$src_name/$slot/lib
47 mkdir -p /nyan/$src_name/$slot/lib/pkgconfig
48 mkdir -p /nyan/$src_name/$slot/share/man/man8
49 mkdir -p /nyan/$src_name/$slot/share/man/man5
50 mkdir -p /nyan/$src_name/$slot/share/man/man3
51 mkdir -p /nyan/$src_name/$slot/share/man/man1
52 mkdir -p /nyan/$src_name/$slot/etc
53 mkdir -p /nyan/$src_name/$slot/include/et
54 mkdir -p /nyan/$src_name/$slot/include/ss
55 mkdir -p /nyan/$src_name/$slot/include/e2p
56 mkdir -p /nyan/$src_name/$slot/include/uuid
57 mkdir -p /nyan/$src_name/$slot/include/blkid
58 mkdir -p /nyan/$src_name/$slot/include/ext2fs
59 mkdir -p /nyan/$src_name/$slot/share/et
60 mkdir -p /nyan/$src_name/$slot/share/ss
61 $pkg_dir/configure \
62 --prefix=/nyan/$src_name/$slot \
63 --enable-symlink-install \
64 --enable-relative-symlinks \
65 --enable-libuuid \
66 --enable-libblkid \
67 --disable-backtrace \
68 --disable-debugfs \
69 --disable-uuidd \
70 --disable-nls
71 unset CFLAGS
72 unset CC
73 unset AR
74
75 make -j $threads_n
76 make install
77
78 ln -sTf $slot /nyan/$src_name/current
79
80 export PATH=$PATH_SAVED
81 rm -f /bin/echo
82 unset target_gnu_triple
83 rm -f $pkgs_dir_root/$archive_name
84 rm -Rf $build_dir $pkg_dir
File builders/ed-0/builder-target.sh deleted (index 70c8ec0..0000000)
1 src_name=ed
2 version=1.14.2
3 archive_name=$src_name-$version.tar.lz
4 url0=http://ftpmirror.gnu.org/$src_name/$archive_name
5
6 src_dir=$src_dir_root/$src_name-$version
7 cd $src_dir_root
8 rm -Rf $src_name-$version
9 tar xf $archive_name
10
11 build_dir=$builds_dir_root/$pkg_name-$version-$target_gnu_triple
12 rm -Rf $build_dir
13 mkdir -p $build_dir
14 cd $build_dir
15
16 OLD_PATH=$PATH
17 export PATH=$cross_toolchain_dir_root/bin:$PATH
18
19 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
20 $src_dir/configure \
21 --build=$build_gnu_triple \
22 --host=$target_gnu_triple \
23 --prefix=/nyan/ed/0 \
24 "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc" \
25 'CFLAGS=-O2 -pipe -fPIC'
26
27 make -j $threads_n
28 make install DESTDIR=$target_sysroot
29
30 # cleanup and tidying
31 rm -Rf $target_sysroot/nyan/$src_name/0/share
32 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/$src_name
33
34 rm -Rf $build_dir $src_dir
35 export PATH=$OLD_PATH
File builders/expat-2.4.1/builder.sh added (mode: 100644) (index 0000000..7618bd1)
1 src_name=expat
2 major=2
3 minor=4
4 micro=1
5 version=$major.$minor.$micro
6 slot=$version
7 archive_name=$src_name-$version.tar.xz
8 url0=https://github.com/libexpat/libexpat/releases/download/R_$major_$minor_$micro/$archive_name
9
10 pkg_dir=$pkgs_dir_root/$src_name-$version
11 rm -Rf $pkg_dir
12 mkdir -p $pkgs_dir_root
13 cp -f $src_dir_root/$archive_name $pkgs_dir_root
14 cd $pkgs_dir_root
15 tar xf $archive_name
16
17 build_dir=$builds_dir_root/$src_name-$version
18 rm -Rf $build_dir
19 mkdir -p $build_dir
20 cd $build_dir
21
22 PATH_SAVED=$PATH
23 export PATH="\
24 /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin:\
25 /nyan/make/current/bin:\
26 $PATH\
27 "
28 target_gnu_triple=$(basename "$(ls -d /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/*-gcc)")
29 target_gnu_triple=${target_gnu_triple%-gcc}
30
31 export 'CFLAGS=-O2 -pipe -fPIC'
32 export "CC=$target_gnu_triple-gcc \
33 -isystem /nyan/glibc/current/include \
34 -isystem /nyan/linux-headers/current/include \
35 -B/nyan/glibc/current/lib \
36 -L/nyan/glibc/current/lib \
37 -Wl,-rpath-link,/nyan/glibc/current/lib \
38 -Wl,-s \
39 -static-libgcc"
40 export AR=$target_gnu_triple-ar
41 export NM=$target_gnu_triple-nm
42 $pkg_dir/configure \
43 --prefix=/nyan/expat/$slot \
44 --disable-shared
45 unset CFLAGS
46 unset CC
47 unset AR
48 unset NM
49
50 make -j $threads_n
51 make install
52
53 # cleanup and tidying
54 rm -Rf /nyan/$src_name/$slot/share
55 rm -f /nyan/$src_name/$slot/lib/*.la
56
57 export PATH=$PATH_SAVED
58 unset PATH_SAVED
59 unset target_gnu_triple
60 rm -f $pkgs_dir_root/$archive_name
61 rm -Rf $build_dir $pkg_dir
File builders/findutils-0/builder-target.sh deleted (index 82dd5b3..0000000)
1 src_name=findutils
2 git_commit=b94be7a07198fca590559d60ff727996a0b52456
3 git_url0=git://git.savannah.gnu.org/$src_name.git
4
5 gnulib_git_commit=f5f067f896b71a96c882b96c35759aeea2fa3072
6 gnulib_git_url0=git://git.savannah.gnu.org/gnulib.git
7
8 pkg_dir=$pkgs_dir_root/$pkg_name
9 src_dir=$src_dir_root/$src_name
10 rm -Rf $pkg_dir
11 mkdir -p $pkgs_dir_root
12 cp -r $src_dir $pkg_dir
13
14 #-------------------------------------------------------------------------------
15 cd $pkg_dir
16 # we do trust the version of the gnulib
17 git checkout --force $git_commit
18 git reset --hard
19
20 # the following has is pure abomination (and those doing that think they are
21 # smart... but are actually insane)
22 OLD_PATH=$PATH
23 export PATH=$sdk_gettext_path/bin:$sdk_texinfo_path/bin:$sdk_perl_path/bin:$PATH
24 PERL=$sdk_perl_path/bin/perl ./bootstrap --gnulib-srcdir=$src_dir_root/gnulib --copy --no-git --skip-po
25 export PATH=$OLD_PATH
26 #-------------------------------------------------------------------------------
27
28 build_dir=$builds_dir_root/$pkg_name-$target_gnu_triple
29 rm -Rf $build_dir
30 mkdir -p $build_dir
31 cd $build_dir
32
33 OLD_PATH=$PATH
34 export PATH=$cross_toolchain_dir_root/bin:$sdk_texinfo_path/bin:$PATH
35
36 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
37 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
38 export 'CFLAGS=-O2 -pipe -fPIC'
39 $pkg_dir/configure \
40 --build=$build_gnu_triple \
41 --host=$target_gnu_triple \
42 --prefix=/nyan/findutils/0 \
43 --disable-debug \
44 --enable-threads=posix \
45 --disable-assert \
46 --disable-nls \
47 --without-included-regex
48 unset CFLAGS
49 unset CC
50
51 make -j $threads_n
52 make install DESTDIR=$target_sysroot
53
54 # cleanup and tidying
55 rm -Rf $target_sysroot/nyan/$src_name/0/share
56 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/find
57 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/locate
58 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/xargs
59 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/libexec/frcode
60
61 rm -Rf $build_dir $pkg_dir
62 export PATH=$OLD_PATH
File builders/flex-2.6.4/builder.sh added (mode: 100644) (index 0000000..d84fbd5)
1 src_name=flex
2 version=${pkg_name##*-}
3 slot=$version
4 archive_name=$src_name-$version.tar.gz
5 git_url0=git://github.com/westes/flex
6
7 pkg_dir=$pkgs_dir_root/$src_name-$version
8 rm -Rf $pkg_dir
9 mkdir -p $pkgs_dir_root
10 cp -r $src_dir_root/$archive_name $pkgs_dir_root
11 cd $pkgs_dir_root
12 tar xf $archive_name
13
14 build_dir=$builds_dir_root/$pkg_name
15 rm -Rf $build_dir
16 mkdir -p $build_dir
17 cd $build_dir
18
19 PATH_SAVED=$PATH
20 export "PATH=\
21 /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin:\
22 /nyan/make/current/bin:\
23 /nyan/m4/current/bin:\
24 $PATH\
25 "
26 target_gnu_triple=$(basename "$(ls -d /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/*-gcc)")
27 target_gnu_triple=${target_gnu_triple%-gcc}
28
29 export 'CFLAGS=-O2 -pipe -fPIC'
30 export "CC=$target_gnu_triple-gcc\
31 -isystem /nyan/glibc/current/include \
32 -isystem /nyan/linux-headers/current/include \
33 -B/nyan/glibc/current/lib \
34 -L/nyan/glibc/current/lib \
35 -Wl,-rpath-link,/nyan/glibc/current/lib \
36 -Wl,-s \
37 -static-libgcc"
38 export AR=$target_gnu_triple-ar
39 export NM=$target_gnu_triple-nm
40 export OBJDUMP=$target_gnu_triple-objdump
41 export "CC_FOR_BUILD=$CC"
42 $pkg_dir/configure \
43 --prefix=/nyan/$src_name/$slot \
44 --disable-shared \
45 --disable-libfl \
46 --disable-bootstrap \
47 --disable-nls
48 unset CFLAGS
49 unset CC
50 unset AR
51 unset NM
52 unset OBJDUMP
53 unset CC_FOR_BUILD
54
55 make -j $threads_n
56 make install
57
58 rm -Rf /nyan/$src_name/$slot/share
59
60 export PATH=$PATH_SAVED
61 unset target_gnu_triple
62 rm -f $pkgs_dir_root/$archive_name
63 rm -Rf $build_dir $pkg_dir
File builders/gawk-0/builder-target.sh deleted (index be3379d..0000000)
1 src_name=gawk
2 version=4.2.1
3 archive_name=$src_name-$version.tar.xz
4 url0=http://ftpmirror.gnu.org/$src_name/$archive_name
5
6 src_dir=$src_dir_root/$src_name-$version
7 rm -Rf $src_dir
8 cd $src_dir_root
9 tar xf $archive_name
10
11 build_dir=$builds_dir_root/$pkg_name-$version-$target_gnu_triple
12 rm -Rf $build_dir
13 mkdir -p $build_dir
14 cd $build_dir
15
16 OLD_PATH=$PATH
17 export PATH=$cross_toolchain_dir_root/bin:$PATH
18
19 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
20 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
21 export 'CFLAGS=-O2 -pipe -fPIC'
22 $src_dir/configure \
23 --build=$build_gnu_triple \
24 --host=$target_gnu_triple \
25 --prefix=/nyan/gawk/0 \
26 --disable-nls \
27 --disable-rpath \
28 --disable-extensions
29 unset CFLAGS
30 unset CC
31
32 make -j $threads_n AR=$target_gnu_triple-ar
33 make install DESTDIR=$target_sysroot
34
35 # cleanup and tidying
36 rm -Rf $target_sysroot/nyan/$src_name/0/share/info
37 rm -Rf $target_sysroot/nyan/$src_name/0/share/man
38 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/$src_name
39 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/$src_name-$version
40 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/libexec/awk/*
41
42 rm -Rf $build_dir $src_dir
43 export PATH=$OLD_PATH
File builders/gdb-0/builder.sh deleted (index 1a5f3a0..0000000)
1 src_name=gdb
2 version=8.1.1
3 archive_name=$src_name-$version.tar.xz
4 url0=http://ftpmirror.gnu.org/$src_name/$archive_name
5
6 src_dir=$src_dir_root/$src_name-$version
7 rm -Rf $src_dir
8 cd $src_dir_root
9 tar xf $archive_name
10
11 build_dir=$builds_dir_root/$pkg_name
12 rm -Rf $build_dir
13 mkdir -p $build_dir
14 cd $build_dir
15
16 OLD_PATH=$PATH
17 export PATH=$sdk_texinfo_path/bin:$PATH
18
19 export "CC=gcc -static-libgcc -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib \
20 -Wl,-rpath-link,\
21 /nyan/glibc/current/lib"
22 export "CXX=g++ -static-libgcc -static-libstdc++ -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib \
23 -Wl,-rpath-link,\
24 /nyan/glibc/current/lib"
25 export 'CFLAGS=-O0 -pipe'
26 export 'CXXFLAGS=-O0 -pipe'
27
28 $src_dir/configure --prefix=/nyan/gdb/0
29
30 unset CXXFLAGS
31 unset CFLAGS
32 unset CXX
33 unset CC
34
35 make -j $threads_n
36 make install
37
38 # cleanup
39 rm -Rf /nyan/$src_name/0/share/man /nyan/$src_name/0/share/info
40 find /nyan/$src_name/0 -type f -iname '*.la' | xargs rm -f
41 find /nyan/$src_name/0 -type f | while read f; do if file $f | egrep 'ELF.+(shared|executable)' >/dev/null; then strip -s $f; fi; done
42
43 rm -Rf $build_dir $src_dir
44 export PATH=$OLD_PATH
File builders/git-2.29.3/builder.sh added (mode: 100644) (index 0000000..61b5208)
1 src_name=git
2 version=${pkg_name##*-}
3 slot=$version
4 archive_name=$src_name-$version.tar.xz
5 url0=https://www.kernel.org/pub/software/scm/$src_name/$archive_name
6
7 pkg_dir=$pkgs_dir_root/$src_name-$version
8 rm -Rf $pkg_dir
9 mkdir -p $pkgs_dir_root
10 cp -f $src_dir_root/$archive_name $pkgs_dir_root
11 cd $pkgs_dir_root
12 tar xf $archive_name
13
14 PATH_SAVED=$PATH
15 export PATH="\
16 /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin:\
17 /nyan/make/current/bin:\
18 $PATH\
19 "
20 target_gnu_triple=$(basename "$(ls -d /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/*-gcc)")
21 target_gnu_triple=${target_gnu_triple%-gcc}
22
23 # libcurl dependencies must be provided manually
24 # In order to trick the makefile, we override the CURL_LIBCURL initial value
25
26 cd $pkg_dir
27
28 # must add manually libressl library directory
29 # we strip the binaries directly using the compiler driver passing -s option
30 # to the linker
31 make -j $nthreads_n install \
32 "CC=$target_gnu_triple-gcc \
33 -isystem /nyan/glibc/current/include \
34 -isystem /nyan/linux-headers/current/include \
35 -B/nyan/glibc/current/lib \
36 -L/nyan/libressl/current/lib \
37 -L/nyan/glibc/current/lib \
38 -Wl,-s \
39 -Wl,-rpath-link,/nyan/glibc/current/lib \
40 -static-libgcc" \
41 'NO_R_TO_GCC_LINKER=1' \
42 AR=$target_gnu_triple-ar \
43 'CFLAGS=-O2 -pipe -fPIC' \
44 prefix=/nyan/$src_name/$slot \
45 NO_PERL=YesPlease NO_PYTHON=YesPlease NO_OPENSSL=YesPlease NO_TCLTK=YesPlease NO_GETTEXT=YesPlease HAVE_DEV_TTY=YesPlease DEFAULT_EDITOR=vim \
46 ZLIB_PATH=/nyan/zlib/current \
47 CURL_CONFIG=/nyan/curl/current/bin/curl-config \
48 EXPATDIR=/nyan/expat/current \
49 RUNTIME_PREFIX=1 PROCFS_EXECUTABLE_PATH=1
50
51 export PATH=$PATH_SAVED
52 unset PATH_SAVED
53 unset target_gnu_triple
54 rm -f $pkgs_dir_root/$archive_name
55 rm -Rf $build_dir $pkg_dir
File builders/grep-0/builder-target.sh deleted (index 9276489..0000000)
1 src_name=grep
2 version=3.1
3 archive_name=$src_name-$version.tar.xz
4 url0=http://ftpmirror.gnu.org/$src_name/$archive_name
5
6 src_dir=$src_dir_root/$src_name-$version
7 rm -Rf $src_dir
8 cd $src_dir_root
9 tar xf $archive_name
10
11 build_dir=$builds_dir_root/$pkg_name-$version-$target_gnu_triple
12 rm -Rf $build_dir
13 mkdir -p $build_dir
14 cd $build_dir
15
16 OLD_PATH=$PATH
17 export PATH=$cross_toolchain_dir_root/bin:$PATH
18
19 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
20 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
21 export 'CFLAGS=-O2 -pipe -fPIC'
22 $src_dir/configure \
23 --build=$build_gnu_triple \
24 --host=$target_gnu_triple \
25 --prefix=/nyan/grep/0 \
26 --enable-threads=posix \
27 --disable-nls \
28 --without-included-regex \
29 --disable-perl-regexp
30 unset CFLAGS
31 unset CC
32
33 make -j $threads_n
34 make install DESTDIR=$target_sysroot
35
36 # cleanup and tidying
37 rm -Rf $target_sysroot/nyan/$src_name/0/share
38 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/$src_name
39
40 rm -Rf $build_dir $src_dir
41 export PATH=$OLD_PATH
File builders/gzip-0/builder-target.sh deleted (index 2661d95..0000000)
1 src_name=gzip
2 git_commit=7868e29c3faca087be3790ab78ba570c3018bcb7
3 git_url0=git://git.savannah.gnu.org/git/$src_name.git
4
5 gnulib_git_commit=f5f067f896b71a96c882b96c35759aeea2fa3072
6 gnulib_git_url0=git://git.savannah.gnu.org/gnulib.git
7
8 pkg_dir=$pkgs_dir_root/$pkg_name
9 src_dir=$src_dir_root/$src_name
10 rm -Rf $pkg_dir
11 mkdir -p $pkgs_dir_root
12 cp -r $src_dir $pkg_dir
13
14 build_dir=$builds_dir_root/$pkg_name-$target_gnu_triple
15 rm -Rf $build_dir
16 mkdir -p $build_dir
17 cd $build_dir
18
19 #-------------------------------------------------------------------------------
20 cd $pkg_dir
21 # we do trust the version of the gnulib
22 git checkout --force $git_commit
23 git reset --hard
24
25 # the following has is pure abomination (and those doing that think they are
26 # smart... but are actually insane)
27 # no need of rsync
28 sed -i '/^rsync/ d' ./bootstrap.conf
29 OLD_PATH=$PATH
30 export PATH=$sdk_gettext_path/bin:$sdk_texinfo_path/bin:$sdk_perl_path/bin:$PATH
31 PERL=$sdk_perl_path/bin/perl ./bootstrap --gnulib-srcdir=$src_dir_root/gnulib --copy --no-git --skip-po
32 export PATH=$OLD_PATH
33 #-------------------------------------------------------------------------------
34
35 build_dir=$builds_dir_root/$pkg_name-$target_gnu_triple
36 rm -Rf $build_dir
37 mkdir -p $build_dir
38 cd $build_dir
39
40 OLD_PATH=$PATH
41 export PATH=$cross_toolchain_dir_root/bin:$sdk_texinfo_path/bin:$PATH
42
43 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
44 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
45 export 'CFLAGS=-O2 -pipe -fPIC -Wno-error'
46 $pkg_dir/configure \
47 --build=$build_gnu_triple \
48 --host=$target_gnu_triple \
49 --prefix=/nyan/gzip/0 \
50 --enable-threads=posix
51 unset CFLAGS
52 unset CC
53
54 make -j $threads_n
55 make install DESTDIR=$target_sysroot
56
57 # cleanup and tidying
58 rm -Rf $target_sysroot/nyan/$src_name/0/share
59 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/$src_name
60
61 rm -Rf $build_dir $pkg_dir
62 export PATH=$OLD_PATH
File builders/iproute2-0/builder-target.sh deleted (index cdbf6b8..0000000)
1 src_name=iproute2
2 version=4.16.0
3 archive_name=$src_name-$version.tar.xz
4 url0=https://www.kernel.org/pub/linux/utils/net/$src_name/$archive_name
5
6 src_dir=$src_dir_root/$src_name-$version
7 cd $src_dir_root
8 rm -Rf $src_name-$version
9 tar xf $archive_name
10
11 cd $src_dir
12
13 # custom configure script hardcoded on bash, fix it
14 ##sed -i s:/bin/bash:/bin/sh: configure
15 # fix the installation
16 #sed -i '66,71 d;74,75 d;72 c\ @for i in $(SUBDIRS); do $(MAKE) -C $$i install; done' Makefile
17
18 rm -f config.mk
19
20 OLD_PATH=$PATH
21 export PATH=$cross_toolchain_dir_root/bin:$PATH
22
23 export PKG_CONFIG_LIBDIR=
24
25 make install \
26 "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc" \
27 HOSTCC=gcc \
28 AR=$target_gnu_triple-ar \
29 'SUBDIRS=lib ip bridge misc' \
30 'SHARED_LIBS=n' \
31 DESTDIR=$target_sysroot \
32 KERNEL_INCLUDE=$target_sysroot/nyan/glibc/0/linux/include \
33 'CCOPTS=-O2 -pipe -fPIC' \
34 PREFIX=/nyan/iproute2/0 \
35 SBINDIR=/nyan/iproute2/0/sbin \
36 CONFDIR=/nyan/iproute2/0/etc/iproute2 \
37 DESTDIR=$target_sysroot
38
39 # cleanup and tidying
40 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/sbin/* || true
41
42 rm -Rf $src_dir
43 export PATH=$OLD_PATH
File builders/libressl-3.3.3/builder.sh added (mode: 100644) (index 0000000..d7f28a1)
1 src_name=libressl
2 version=${pkg_name##*-}
3 slot=$version
4 archive_name=$src_name-$version.tar.gz
5 url0=https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/$archive_name
6
7 pkg_dir=$pkgs_dir_root/$src_name-$version
8 rm -Rf $pkg_dir
9 mkdir -p $pkgs_dir_root
10 cp -f $src_dir_root/$archive_name $pkgs_dir_root
11 cd $pkgs_dir_root
12 tar xf $archive_name
13
14 build_dir=$builds_dir_root/$src_name-$version
15 rm -Rf $build_dir
16 mkdir -p $build_dir
17 cd $build_dir
18
19 PATH_SAVED=$PATH
20 export PATH="\
21 /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin:\
22 /nyan/make/current/bin:\
23 $PATH\
24 "
25 target_gnu_triple=$(basename "$(ls -d /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/*-gcc)")
26 target_gnu_triple=${target_gnu_triple%-gcc}
27
28 export 'CFLAGS=-O2 -pipe -fPIC'
29 export "CC=$target_gnu_triple-gcc \
30 -isystem /nyan/glibc/current/include \
31 -isystem /nyan/linux-headers/current/include \
32 -B/nyan/glibc/current/lib \
33 -L/nyan/glibc/current/lib \
34 -Wl,-rpath-link,/nyan/glibc/current/lib \
35 -Wl,-s \
36 -static-libgcc"
37 export AR=$target_gnu_triple-ar
38 export NM=$target_gnu_tripel-nm
39 $pkg_dir/configure \
40 --prefix=/nyan/$src_name/$slot \
41 --disable-shared \
42 --enable-nc
43 unset CFLAGS
44 unset CC
45 unset AR
46 unset NM
47
48 make -j $threads_n
49 make install
50
51 # cleanup and tidying
52 rm -Rf /nyan/$src_name/$slot/share
53 rm -f /nyan/$src_name/$slot/lib/*.la
54
55 export PATH=$PATH_SAVED
56 unset PATH_SAVED
57 unset target_gnu_triple
58 rm -f $pkgs_dir_root/$archive_name
59 rm -Rf $build_dir $pkg_dir
File builders/m4-1.4.19/builder.sh added (mode: 100644) (index 0000000..f649f63)
1 src_name=m4
2 version=${pkg_name##*-}
3 slot=$version
4 archive_name=$src_name-$version.tar.xz
5 url0=http://ftp.gnu.org/gnu/m4/$archive_name
6
7 pkg_dir=$pkgs_dir_root/$src_name-$version
8 rm -Rf $pkg_dir
9 mkdir -p $pkgs_dir_root
10 cp -f $src_dir_root/$archive_name $pkgs_dir_root
11 cd $pkgs_dir_root
12 tar xf $archive_name
13
14 build_dir=$builds_dir_root/$src_name-$version
15 rm -Rf $build_dir
16 mkdir -p $build_dir
17 cd $build_dir
18
19 PATH_SAVED=$PATH
20 export PATH="\
21 /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin:\
22 /nyan/make/current/bin:\
23 $PATH\
24 "
25 target_gnu_triple=$(basename "$(ls -d /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/*-gcc)")
26 target_gnu_triple=${target_gnu_triple%-gcc}
27
28 export 'CFLAGS=-O2 -pipe -fPIC'
29 export "CC=$target_gnu_triple-gcc \
30 -isystem /nyan/glibc/current/include \
31 -isystem /nyan/linux-headers/current/include \
32 -B/nyan/glibc/current/lib \
33 -L/nyan/glibc/current/lib \
34 -Wl,-rpath-link,/nyan/glibc/current/lib \
35 -Wl,-s \
36 -static-libgcc"
37 export AR=$target_gnu_triple-ar
38 $pkg_dir/configure \
39 --prefix=/nyan/$src_name/$slot \
40 --disable-nls
41 unset CFLAGS
42 unset CC
43 unset AR
44
45 make -j $threads_n
46 make install
47
48 rm -Rf /nyan/$src_name/$slot/share
49
50 export PATH=$PATH_SAVED
51 unset PATH_SAVED
52 unset target_gnu_triple
53 rm -f $pkgs_dir_root/$archive_name
54 rm -Rf $build_dir $pkg_dir
File builders/mplayer-0/builder.sh deleted (index 52fe38b..0000000)
1 date=2020-05-17
2 ffmpeg_git_commit=5d9ce445ef24d915f41e384d4c5916cc568e4458
3 slot=0
4 . $nyan_root/builders/mplayer/builder.sh
File builders/mplayer-1/builder.sh deleted (index b2fb18a..0000000)
1 date=2020-05-25
2 ffmpeg_git_commit=c7c8f141ebd95b73baebf4b5013d3c6389cbe2c6
3 slot=1
4 . $nyan_root/builders/mplayer/builder.sh
File builders/mplayer/builder.sh deleted (index edf41f1..0000000)
1 src_name=mplayer
2 archive_name=$src_name-export-snapshot.tar.bz2
3 url0=http://www.mplayerhq.hu/MPlayer/releases/$archive_name
4
5 src_dir=/run/srcs/$src_name-export-$date
6 mkdir -p /run/srcs
7 cp $src_dir_root/$archive_name /run/srcs
8 cd /run/srcs
9 rm -Rf $src_dir
10 tar xf $archive_name
11
12 cp -r $nyan_root/src/ffmpeg $src_dir
13
14 cd $src_dir/ffmpeg
15 git checkout --force $ffmpeg_git_commit
16 git reset --hard
17
18 cd $src_dir
19
20 export "PKG_CONFIG_PATH=\
21 /nyan/alsa-lib/current/lib/pkgconfig:\
22 /nyan/libpng/current/lib/pkgconfig:\
23 /nyan/zlib/current/lib/pkgconfig:\
24 /nyan/freetype/current/lib/pkgconfig"
25
26 ./configure \
27 --prefix=/nyan/mplayer/$slot \
28 "--host-cc=gcc \
29 -B/nyan/glibc/current/lib \
30 -L/nyan/glibc/current/lib \
31 -static-libgcc \
32 -Wl,-rpath-link,\
33 /nyan/glibc/current/lib" \
34 "--yasm=/nyan/nasm/current/bin/nasm" \
35 "--extra-cflags=\
36 -I/nyan/toolchains/current/include \
37 -I/nyan/fribidi/current/include \
38 -I/nyan/fontconfig/current/include \
39 -I/nyan/libass/current/include \
40 -I/nyan/libXext/current/include \
41 -I/nyan/libX11/current/include \
42 -I/nyan/xorgproto/current/include \
43 -I/nyan/libXScrnSaver/current/include \
44 -I/nyan/alsa-lib/current/include \
45 -I/nyan/zlib/current/include \
46 -I/nyan/bzip2/current/include \
47 -I/nyan/mesa-gl/current/include \
48 -I/nyan/dav1d/current/include \
49 -O2 -pipe -fPIC -w" \
50 "--extra-ldflags=\
51 -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -static-libgcc \
52 -Wl,-rpath-link,\
53 /nyan/glibc/current/lib:\
54 /nyan/libpng/current/lib:\
55 /nyan/libXau/current/lib:\
56 /nyan/libxcb/current/lib:\
57 /nyan/libX11/current/lib:\
58 /nyan/libXext/current/lib:\
59 /nyan/libxshmfence/current/lib:\
60 /nyan/libXdamage/current/lib:\
61 /nyan/libXfixes/current/lib:\
62 /nyan/libXxf86vm/current/lib:\
63 /nyan/drm/current/lib:\
64 /nyan/mesa-gl/current/lib:\
65 /nyan/dav1d/current/lib \
66 \
67 -L/nyan/toolchains/current/lib \
68 -L/nyan/fribidi/current/lib \
69 -L/nyan/nyanuuid/current/lib \
70 -L/nyan/fontconfig/current/lib \
71 -L/nyan/freetype/current/lib \
72 -L/nyan/libass/current/lib \
73 -L/nyan/libXext/current/lib \
74 -L/nyan/libX11/current/lib \
75 -L/nyan/libXScrnSaver/current/lib \
76 -L/nyan/alsa-lib/current/lib \
77 -L/nyan/zlib/current/lib \
78 -L/nyan/bzip2/current/lib \
79 -L/nyan/dav1d/current/lib \
80 -L/nyan/mesa-gl/current/lib" \
81 "--extra-libs-mplayer=-lGL -lXext -lX11 -lass -lfribidi -lfreetype -lfontconfig -luuid -ldav1d -lpthread" \
82 --enable-decoder=libdav1d_decoder \
83 --disable-mencoder \
84 --enable-mplayer \
85 --disable-termcap \
86 --enable-termios \
87 --enable-iconv \
88 --disable-langinfo \
89 --disable-lirc \
90 --disable-lircc \
91 --disable-apple-remote \
92 --disable-apple-ir \
93 --disable-vm \
94 --enable-xf86keysym \
95 --disable-radio-v4l2 \
96 --disable-radio-bsdbt848 \
97 --enable-tv \
98 --disable-tv-v4l1 \
99 --enable-tv-v4l2 \
100 --disable-tv-bsdbt848 \
101 --disable-pvr \
102 --enable-rtc \
103 --enable-networking \
104 --disable-winsock2_h \
105 --disable-smb \
106 --disable-live \
107 --disable-nemesi \
108 --disable-librtmp \
109 --disable-vcd \
110 --disable-bluray \
111 --disable-dvdnav \
112 --disable-dvdread \
113 --disable-cdparanoia \
114 --disable-cddb \
115 --disable-bitmap-font \
116 --enable-freetype \
117 --enable-fontconfig \
118 --disable-unrarexec \
119 --disable-menu \
120 --disable-sortsub \
121 --enable-fribidi \
122 --disable-enca \
123 --disable-maemo \
124 --disable-macosx-finder \
125 --disable-macosx-bundle \
126 --enable-inet6 \
127 --disable-sctp \
128 --disable-gethostbyname2 \
129 --disable-ftp \
130 --disable-vstream \
131 --enable-pthreads \
132 --disable-w32threads \
133 --disable-os2threads \
134 --disable-ass-internal \
135 --enable-ass \
136 --disable-rpath \
137 --disable-gnutls \
138 \
139 --enable-libdav1d-lavc \
140 --disable-gif \
141 --disable-png \
142 --disable-mng \
143 --disable-jpeg \
144 --disable-libcdio \
145 --disable-liblzo \
146 --disable-win32dll \
147 --disable-qtx \
148 --disable-xanim \
149 --disable-real \
150 --disable-xvid \
151 --disable-xvid-lavc \
152 --disable-x264 \
153 --disable-x264-lavc \
154 --disable-libvpx-lavc \
155 --disable-libnut \
156 --enable-ffmpeg_a \
157 --disable-ffmpeg_so \
158 --enable-postproc \
159 --disable-tremor \
160 --disable-vf-lavfi \
161 --enable-libavcodec_mpegaudio_hp \
162 --disable-tremor \
163 --disable-libvorbis \
164 --disable-speex \
165 --disable-libgsm \
166 --disable-theora \
167 --disable-faad \
168 --disable-faac \
169 --disable-ladspa \
170 --disable-libbs2b \
171 --disable-libdv \
172 --disable-libilbc \
173 --disable-libopus \
174 --disable-mpg123 \
175 --disable-mad \
176 --disable-mp3lame \
177 --disable-mp3lame-lavc \
178 --disable-toolame \
179 --disable-twolame \
180 --disable-xmms \
181 --disable-libdca \
182 --disable-liba52 \
183 --disable-libmpeg2 \
184 --disable-libmpeg2-internal \
185 --disable-musepack \
186 --disable-libopencore_amrnb \
187 --disable-libopencore_amrwb \
188 --disable-libopenjpeg \
189 --disable-crystalhd \
190 \
191 --disable-vidix \
192 --disable-vidix-pcidb \
193 --disable-dhahelper \
194 --disable-svgalib_helper \
195 --enable-gl \
196 --disable-matrixview \
197 --disable-dga2 \
198 --disable-dga1 \
199 --disable-vesa \
200 --disable-svga \
201 --disable-sdl \
202 --disable-kva \
203 --disable-aa \
204 --disable-caca \
205 --disable-ggi \
206 --disable-ggiwmh \
207 --disable-direct3d \
208 --disable-directx \
209 --disable-dxr2 \
210 --disable-dxr3 \
211 --enable-v4l2 \
212 --disable-dvb \
213 --disable-mga \
214 --disable-xmga \
215 --disable-xv \
216 --disable-xvmc \
217 --disable-vda \
218 --disable-vdpau \
219 --disable-vm \
220 --disable-xinerama \
221 --enable-x11 \
222 --enable-xshape \
223 --enable-xss \
224 --disable-fbdev \
225 --disable-mlib \
226 --disable-3dfx \
227 --disable-tdfxfb \
228 --disable-s3fb \
229 --disable-wii \
230 --disable-directfb \
231 --disable-zr \
232 --disable-xvr100 \
233 --disable-bl \
234 --disable-tdfxvid \
235 --disable-tga \
236 --disable-pnm \
237 --disable-md5sum \
238 --disable-yuv4mpeg \
239 --disable-corevideo \
240 --disable-quartz \
241 \
242 --enable-alsa \
243 --disable-ossaudio \
244 --disable-arts \
245 --disable-esd \
246 --disable-pulse \
247 --disable-jack \
248 --disable-openal \
249 --disable-nas \
250 --disable-sgiaudio \
251 --disable-sndio \
252 --disable-sunaudio \
253 --disable-kai \
254 --disable-dart \
255 --disable-win32waveout \
256 --disable-coreaudio \
257 --enable-select
258
259 make -j $threads_n
260 make install
261
262 # cleanup and tidying
263 rm -Rf /nyan/$src_name/$slot/share
264 rm -Rf /nyan/$src_name/$slot/lib
265 strip -s /nyan/$src_name/$slot/bin/$src_name
266
267 rm -Rf $src_dir
268 rm -f /run/srcs/$archive_name
269 rmdir /run/srcs
File builders/nyancoreutils-0/builder-target.sh deleted (index aa063fb..0000000)
1 src_name=nyancoreutils
2 git_commit=
3 url0=
4
5 pkg_dir=$pkgs_dir_root/$pkg_name
6 src_dir=$src_dir_root/$src_name
7 rm -Rf $pkg_dir
8 mkdir -p $pkgs_dir_root
9 cp -r $src_dir $pkg_dir
10
11 cd $pkg_dir
12
13 # no git yet, coze in development
14 ###git checkout --force $git_commit
15 ###git reset --hard
16
17 build_dir=$builds_dir_root/$pkg_name-$target_gnu_triple
18 rm -Rf $build_dir
19 mkdir -p $build_dir
20 cd $build_dir
21
22 OLD_PATH=$PATH
23 export PATH=$cross_toolchain_dir_root/bin:$PATH
24
25 $pkg_dir/make.gnulinux \
26 "--bin-cc=$target_gnu_triple-gcc -Wall -Wextra -Wno-comment -O2 -c" \
27 "--bin-ccld=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -static-libgcc"
28
29 ####rm -Rf $build_dir
30
31 export PATH=$OLD_PATH
File builders/nyangpt-93ff96f81c21fa5231aaec14fbd5cbc592eb04dc/builder.sh added (mode: 100644) (index 0000000..83994f9)
1 src_name=nyangpt
2 version=${pkg_name##*-}
3 git_commit=$version
4 slot=$version
5 url0=
6
7 pkg_dir=$pkgs_dir_root/$src_name
8 rm -Rf $pkg_dir
9 mkdir -p $pkgs_dir_root
10 cp -Hr $src_dir_root/$src_name $pkgs_dir_root
11
12 PATH_SAVED=$PATH
13 export PATH="\
14 /nyan/git/current/bin:\
15 /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin:\
16 $PATH\
17 "
18 target_gnu_triple=$(basename "$(ls -d /nyan/toolchains/binutils-2.36.1-gcc-4.7.4/current/bin/*-gcc)")
19 target_gnu_triple=${target_gnu_triple%-gcc}
20
21 cd $pkg_dir
22
23 if test x$git_commit != x; then
24 git reset --hard
25 git checkout $git_commit
26 fi
27
28 mkdir -p /nyan/nyangpt/$slot
29 ln -sTf $slot /nyan/nyangpt/current
30
31 $target_gnu_triple-gcc \
32 -isystem /nyan/glibc/current/include \
33 -isystem /nyan/linux-headers/current/include \
34 -B /nyan/glibc/current/lib \
35 -Wl,-s \
36 $pkg_dir/nyangpt.c \
37 -o /nyan/nyangpt/current/nyangpt
38
39 export PATH=$PATH_SAVED
40 unset PATH_SAVED
41 unset target_gnu_triple
42 rm -Rf $build_dir $pkg_dir
File builders/nyankmod-0/builder-target.sh deleted (index 161d830..0000000)
1 src_name=nyankmod
2 git_commit=42838aa4336dc989ef98923c61d96cb615693934
3 git_url0=git://github.com/sylware/$src_name
4
5 pkg_dir=$pkgs_dir_root/$pkg_name
6 src_dir=$src_dir_root/$src_name
7 rm -Rf $pkg_dir
8 mkdir -p $pkgs_dir_root
9 cp -r $src_dir $pkg_dir
10
11 cd $pkg_dir
12
13 git checkout --force $git_commit
14 git reset --hard
15
16 build_dir=$builds_dir_root/$pkg_name-$target_gnu_triple
17 rm -Rf $build_dir
18 mkdir -p $build_dir
19 cd $build_dir
20
21 OLD_PATH=$PATH
22 export PATH=$cross_toolchain_dir_root/bin:$PATH
23
24 # we cheat, we cross-build a dynamic binary using the static lib
25 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
26 $pkg_dir/make \
27 --prefix=/nyan/nyankmod/0 \
28 --disable-dynamic \
29 "--bin-cc=$target_gnu_triple-gcc -O2 -pipe -fPIC -c" \
30 "--bin-ccld=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc" \
31 "--libkmod-cc=$target_gnu_triple-gcc -O2 -pipe -fPIC -c" \
32 "--libkmod-ar=$target_gnu_triple-ar rcs"
33
34 cp -r $build_dir/fake_root/* $target_sysroot
35 # modprobe is a symlink to kmod
36 ln -sTf kmod $target_sysroot/nyan/$src_name/0/bin/modprobe
37
38 # cleanup and tidying
39 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/kmod
40
41 rm -Rf $build_dir $pkg_dir
42 export PATH=$OLD_PATH
File builders/patch-0/builder-target.sh deleted (index 2d4b557..0000000)
1 src_name=patch
2 version=2.7.6
3 archive_name=$src_name-$version.tar.xz
4 url0=http://ftpmirror.gnu.org/$src_name/$archive_name
5
6 src_dir=$src_dir_root/$src_name-$version
7 cd $src_dir_root
8 rm -Rf $src_name-$version
9 tar xf $archive_name
10
11 build_dir=$builds_dir_root/$pkg_name-$version
12 rm -Rf $build_dir
13 mkdir -p $build_dir
14 cd $build_dir
15
16 OLD_PATH=$PATH
17 export PATH=$cross_toolchain_dir_root/bin:$PATH
18
19 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
20 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
21 export 'CFLAGS=-O2 -pipe -fPIC'
22 $src_dir/configure \
23 --build=$build_gnu_triple \
24 --host=$target_gnu_triple \
25 --prefix=/nyan/patch/0 \
26 --disable-xattr
27 unset CFLAGS
28 unset CC
29
30 make -j $threads_n
31 make install DESTDIR=$target_sysroot
32
33 # cleanup and tidying
34 rm -Rf $target_sysroot/nyan/$src_name/0/share
35 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/$src_name
36
37 rm -Rf $build_dir $src_dir
38 export PATH=$OLD_PATH
File builders/procmail-0/builder.sh deleted (index 7dfae87..0000000)
1 src_name=procmail
2 version=3.22
3 archive_name=$src_name-$version.tar.gz
4 # We use a mirror as the home site seems down for download.
5 url0=ftp://ftp.fu-berlin.de/pub/unix/mail/$src_name/$archive_name
6
7 src_dir=$src_dir_root/$src_name-$version
8 cd $src_dir_root
9 rm -Rf $src_name-$version
10 tar xf $archive_name
11
12 cd $src_dir
13
14 # Get rid of the getline conflict.
15 find -type f -name '*.[ch]' | xargs sed -i 's/getline/get_line/'
16
17 # it must find sendmail in some hardcoded paths, makes /usr/bin path the actual msmtp path
18 sed -i 's|/usr/bin|/nyan/msmtp/current/bin|g' ./src/autoconf
19
20 # rm path is hardcoded to /bin/rm
21 make bins \
22 'RM=rm -f' \
23 LOCKINGTEST=/ \
24 'CC=gcc -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib -static-libgcc' \
25 'CFLAGS0=-O2 -pipe -fPIC'
26
27 make install.bin BASENAME=/nyan/procmail/0
28
29 # cleanup and tidying
30 rm -Rf /tmp/_locktest
31 strip -s /nyan/$src_name/0/bin/* || true
32
33 rm -Rf $src_dir
File builders/procps-0/builder.sh deleted (index 593a113..0000000)
1 src_name=procps
2 git_commit=ca07bcad4df108b458c888b76fa19b16ec6de1c6
3 git_url0=https://gitlab.com/procps-ng/$src_name
4
5 src_dir=$src_dir_root/$src_name
6 pkg_dir=$pkgs_dir_root/$pkg_name
7 rm -Rf $pkg_dir
8 mkdir -p $pkgs_dir_root
9 cp -r $src_dir $pkg_dir
10
11 cd $pkg_dir
12
13 git checkout --force $git_commit
14 git reset --hard
15
16 #===============================================================================
17 OLD_PATH=$PATH
18 export "PATH=\
19 /nyan/autoconf/current/bin:\
20 /nyan/automake/current/bin:\
21 /nyan/libtool/current/bin:\
22 /nyan/gettext/current/bin:\
23 $PATH"
24
25 export ACLOCAL_PATH=/nyan/pkg-config/current/share/aclocal
26
27 ./autogen.sh
28
29 unset ACLOCAL_PATH
30 export PATH=$OLD_PATH
31
32 # fix nls.h to allow a build directory different than the source directory
33 sed -i -e 's|#include "../config.h"|#include "config.h"|' ./include/nls.h
34
35 #===============================================================================
36
37 build_dir=$builds_dir_root/$pkg_name
38 rm -Rf $build_dir
39 mkdir -p $build_dir
40 cd $build_dir
41
42 export 'NCURSES_CFLAGS=-I/nyan/ncurses/current/include/ncursesw -I/nyan/ncurses/current/include'
43 export 'NCURSES_LIBS=-L/nyan/ncurses/current/lib -lncursesw -ltinfow'
44 export 'NCURSESW_CFLAGS=-I/nyan/ncurses/current/include/ncursesw -I/nyan/ncurses/current/include'
45 export 'NCURSESW_LIBS=-L/nyan/ncurses/current/lib -lncursesw -ltinfow'
46
47 export "CPPFLAGS=-I/nyan/ncurses/current/include/ncursesw -I/nyan/ncurses/current/include"
48 export 'CC=gcc -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib -static-libgcc'
49 export "CFLAGS=-O2 -pipe -fPIC"
50 $pkg_dir/configure \
51 --prefix=/nyan/procps/0 \
52 --disable-nls \
53 --enable-watch8bit \
54 --disable-libselinux \
55 --disable-kill \
56 --enable-skill \
57 --disable-examples \
58 --enable-sigwinch
59 unset CFLAGS
60 unset CC
61 unset CPPFLAGS
62
63 unset NCURSES_CFLAGS
64 unset NCURSES_LIBS
65 unset NCURSESW_CFLAGS
66 unset NCURSESW_LIBS
67
68 make -j $threads_n
69 make install
70
71 # cleanup and tidying
72 rm -Rf /nyan/$src_name/0/share
73 rm -f /nyan/$src_name/0/lib/*.la
74 find /nyan/$src_name/0 -type f | while read f; do if file $f | egrep 'ELF.+(shared|executable)' >/dev/null; then strip -s $f; fi; done
75
76 rm -Rf $build_dir $pkg_dir
File builders/sed-0/builder-target.sh deleted (index acab93f..0000000)
1 src_name=sed
2 version=4.4
3 archive_name=$src_name-$version.tar.xz
4 url0=http://ftpmirror.gnu.org/$src_name/$archive_name
5
6 src_dir=$src_dir_root/$src_name-$version
7 rm -Rf $src_dir
8 cd $src_dir_root
9 tar xf $archive_name
10
11 build_dir=$builds_dir_root/$pkg_name-$version-$target_gnu_triple
12 rm -Rf $build_dir
13 mkdir -p $build_dir
14 cd $build_dir
15
16 OLD_PATH=$PATH
17 export PATH=$cross_toolchain_dir_root/bin:$PATH
18
19 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
20 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
21 export 'CFLAGS=-O2 -pipe -fPIC'
22 $src_dir/configure \
23 --build=$build_gnu_triple \
24 --host=$target_gnu_triple \
25 --prefix=/nyan/sed/0 \
26 --bindir=/nyan/sed/0/bin \
27 --disable-regex-tests \
28 --disable-acl \
29 --disable-assert \
30 --disable-nls \
31 --without-included-regex \
32 --without-selinux
33 unset CFLAGS
34 unset CC
35
36 make -j $threads_n
37 make install DESTDIR=$target_sysroot
38
39 # cleanup and tidying
40 rm -Rf $target_sysroot/nyan/sed/0/share
41 $target_gnu_triple-strip -s $target_sysroot/nyan/sed/0/bin/sed
42
43 rm -Rf $build_dir $src_dir
44
45 export PATH=$OLD_PATH
File builders/unzip-0/builder-target.sh deleted (index 8950eb8..0000000)
1 src_name=unzip
2 version=60
3 archive_name=$src_name$version.tar.gz
4 url0=http://downloads.sourceforge.net/infozip/$archive_name
5
6 cd $src_dir_root
7 rm -Rf $src_name$version
8 tar xf $archive_name
9
10 src_dir=$src_dir_root/$src_name$version
11 cd $src_dir
12
13 # add the -static flag
14 ##sed -i '283 c\\t$(LD) -static $(LF) -L$(IZ_BZIP2) $(LOBJS) $(L_BZ2) $(LF2)' ./unix/Makefile
15
16 OLD_PATH=$PATH
17 export PATH=$cross_toolchain_dir_root/bin:$PATH
18
19 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
20 make -f unix/Makefile generic \
21 "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc -O2 -pipe -fPIC -DNO_LCHMOD"
22
23
24 rm -Rf $target_sysroot/nyan/$src_name/0
25 mkdir -p $target_sysroot/nyan/$src_name/0/bin
26 cp -f ./funzip ./unzip ./unzipsfx $target_sysroot/nyan/$src_name/0/bin
27 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/* || true
28
29 rm -Rf $build_dir $src_dir
File builders/util-linux-0/builder-target.sh deleted (index 84a0324..0000000)
1 src_name=util-linux
2 git_commit=5c25aca67a5aef1acf2c5c374025411a728f8b32
3 git_url0=git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
4
5 pkg_dir=$pkgs_dir_root/$pkg_name
6 src_dir=$src_dir_root/$src_name
7 rm -Rf $pkg_dir
8 mkdir -p $pkgs_dir_root
9 cp -r $src_dir $pkg_dir
10
11 cd $pkg_dir
12 # we do trust the version of the gnulib
13 git checkout --force $git_commit
14 git reset --hard
15
16 # fix an error that should be a warning
17 cp -f $nyan_root/builders/$pkg_name/util-linux.patch ./
18 patch -p0 -N -i util-linux.patch
19
20 OLD_PATH=$PATH
21 export PATH=$sdk_gettext_path/bin:$PATH
22 ./autogen.sh
23
24 export PATH=$OLD_PATH
25
26 build_dir=$builds_dir_root/$pkg_name-$target_gnu_triple
27 rm -Rf $build_dir
28 mkdir -p $build_dir
29 cd $build_dir
30
31 # the use of autotools is centralized in the top makefile.am namely everything
32 # is hard coupled.
33
34 # ncurses is really not cross-compilation friendly
35 for f in ncursesw6-config ncurses6-config ncursesw5-config ncurses5-config
36 do
37 if $(which $f >/dev/null 2>&1); then
38 echo "ERROR: util-linux cannot configure for cross-compilation properly with $f in path"
39 exit 1
40 fi
41 done
42
43 OLD_PATH=$PATH
44 export PATH=$cross_toolchain_dir_root/bin:$PATH
45
46 # avoid conflicting pkgconfig files from the build system
47 export PKG_CONFIG_LIBDIR=
48
49 # those are from the ncursesX-config script
50 export "CPPFLAGS=-D_GNU_SOURCE -D_DEFAULT_SOURCE -I$target_sysroot/nyan/ncurses/0/include"
51 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
52 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
53 export 'CFLAGS=-O2 -pipe -fPIC '
54 # need that to detect without ncursesX-config and pkgconfig
55 export "LDFLAGS=-L$target_sysroot/nyan/ncurses/0/lib -L$target_sysroot/nyan/zlib/lib"
56 export "LIBS=-ltinfow"
57 # the follow is to actually build stuff dependent on ncursesw
58 export "NCURSESW_CFLAGS=-D_GNU_SOURCE -D_DEFAULT_SOURCE -I$target_sysroot/nyan/ncurses/0/include"
59 export "NCURSESW_LIBS=-L$target_sysroot/nyan/ncurses/0/include/lib -lncursesw -ltinfow"
60 export "TINFOW_CFLAGS=-D_GNU_SOURCE -D_DEFAULT_SOURCE -I$target_sysroot/nyan/ncurses/0/include"
61 export "TINFOW_LIBS=-L$target_sysroot/nyan/ncurses/0/include/lib -ltinfow"
62 $pkg_dir/configure \
63 --build=$build_gnu_triple \
64 --host=$target_gnu_triple \
65 --prefix=/nyan/util-linux/0 \
66 --sbindir=/nyan/util-linux/0/bin \
67 --disable-shared \
68 --disable-nls \
69 --disable-assert \
70 --disable-bash-completion \
71 --disable-makeinstall-chown \
72 --disable-makeinstall-setuid \
73 --enable-fs-paths-extra=/bin \
74 --disable-use-tty-group \
75 --without-udev \
76 --with-ncursesw \
77 --with-tinfo \
78 --without-cap-ng \
79 --with-libz \
80 --without-btrfs \
81 --without-systemd \
82 --without-smack \
83 --without-python
84 unset TINFOW_LIBS
85 unset TINFOW_CFLAGS
86 unset NCURSESW_LIBS
87 unset NCURSESW_CFLAGS
88 unset LDFLAGS
89 unset CFLAGS
90 unset CC
91 unset CPPFLAGS
92
93 make -j $threads_n
94 make install DESTDIR=$target_sysroot
95
96 # cleanup and tidying
97 rm -Rf $target_sysroot/nyan/$src_name/0/share
98 rm -Rf $target_sysroot/nyan/$src_name/0/lib
99 rm -Rf $target_sysroot/nyan/$src_name/0/include
100 find $target_sysroot/nyan/$src_name/0 -type f | while read f; do if file $f | egrep 'ELF.+(shared|executable)' >/dev/null; then $target_gnu_triple-strip -s $f; fi; done
101
102 rm -Rf $build_dir $pkg_dir
File builders/util-linux-0/util-linux.patch deleted (index b9b08d3..0000000)
1 --- m4/ul.m4
2 +++ m4/ul.m4
3 @@ -33,7 +33,7 @@
4 if AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$2"]); then
5 $1=`$PKG_CONFIG --libs --static "$2"`
6 else
7 - AC_MSG_ERROR([pkg-config description of $2, needed for static build, is not available])
8 + AC_MSG_WARN([pkg-config description of $2, needed for static build, is not available])
9 fi
10 ])
11
File builders/wget-0/builder-target.sh deleted (index f4ead18..0000000)
1 src_name=wget
2 version=1.19.4
3 archive_name=$src_name-$version.tar.lz
4 url0=http://ftpmirror.gnu.org/$src_name/$archive_name
5
6 src_dir=$src_dir_root/$src_name-$version
7 cd $src_dir_root
8 rm -Rf $src_name-$version
9 tar xf $archive_name
10
11 build_dir=$builds_dir_root/$pkg_name-$version-$target_gnu_triple
12 rm -Rf $build_dir
13 mkdir -p $build_dir
14 cd $build_dir
15
16 OLD_PATH=$PATH
17 export PATH=$cross_toolchain_dir_root/bin:$PATH
18
19 # libidn2 pkgconfig support is not yet officially enabled
20 export "PKG_CONFIG_LIBDIR=\
21 $target_sysroot/nyan/gnutls/0/lib/pkgconfig:\
22 $target_sysroot/nyan/zlib/0/lib/pkgconfig:\
23 $target_sysroot/nyan/nyanuuid/0/lib/pkgconfig:\
24 $target_sysroot/nyan/nettle/0/lib/pkgconfig:\
25 $target_sysroot/nyan/libtasn1/0/lib/pkgconfig"
26 export PKG_CONFIG_SYSROOT_DIR=$target_sysroot
27
28 # need to find GNU unistring and GNU libidn2 headers, need to manually pass the "wrong" libuuid header location due to a bug in the code
29 export "CPPFLAGS=-I$target_sysroot/nyan/libunistring/0/include -I$target_sysroot/nyan/libidn2/0/include -I$target_sysroot/nyan/nyanuuid/0/include"
30 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
31 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
32 export 'CFLAGS=-O2 -pipe -fPIC'
33 # need to find GNU unistring and GNU libidn2 libs and GNU GMP and GNU gnutls libs and its dependency libs for static libs
34 export "LDFLAGS=-L$target_sysroot/nyan/libunistring/0/lib -L$target_sysroot/nyan/libidn2/0/lib -L$target_sysroot/nyan/toolchains/0/lib $(pkg-config --static --libs-only-L gnutls)"
35 # GNU GMP dependency is not tracked and missing the GNU gnutls lib and its dependency libs for static libs
36 export "LIBS=-lgmp $(pkg-config --static --libs-only-l --libs-only-other gnutls)"
37 $src_dir/configure \
38 --build=$build_gnu_triple \
39 --host=$target_gnu_triple \
40 --prefix=/nyan/wget/0 \
41 --enable-threads=posix \
42 --disable-ntlm \
43 --disable-debug \
44 --disable-nls \
45 --disable-xattr \
46 --with-zlib \
47 --with-libuuid \
48 --without-included-libunistring \
49 --without-included-regex
50 unset LIBS
51 unset LDFLAGS
52 unset CFLAGS
53 unset CC
54 unset CPPFLAGS
55
56 make -j $threads_n
57 make install DESTDIR=$target_sysroot
58
59 # cleanup and tidying
60 rm -Rf $target_sysroot/nyan/$src_name/0/share
61 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/$src_name
62
63 rm -Rf $build_dir $src_dir
64 export PATH=$OLD_PATH
File builders/which-0/builder-target.sh deleted (index 5963557..0000000)
1 src_name=which
2 version=2.21
3 archive_name=$src_name-$version.tar.gz
4 url0=http://ftpmirror.gnu.org/$src_name/$archive_name
5
6 src_dir=$src_dir_root/$src_name-$version
7 cd $src_dir_root
8 rm -Rf $src_name-$version
9 tar xf $archive_name
10
11 build_dir=$builds_dir_root/$pkg_name-$version
12 rm -Rf $build_dir
13 mkdir -p $build_dir
14 cd $build_dir
15
16 OLD_PATH=$PATH
17 export PATH=$cross_toolchain_dir_root/bin:$PATH
18
19 # at link time, the only way to tell gnu ld where to look for shared lib dependencies is to pass the -rpath-link option
20 export "CC=$target_gnu_triple-gcc -B$target_sysroot/nyan/glibc/current/lib -L$target_sysroot/nyan/glibc/current/lib -Wl,-rpath-link,$target_sysroot/nyan/glibc/current/lib -static-libgcc"
21 export 'CFLAGS=-O2 -pipe -fPIC'
22 $src_dir/configure \
23 --build=$build_gnu_triple \
24 --host=$target_gnu_triple \
25 --prefix=/nyan/which/0
26 unset CFLAGS
27 unset CC
28
29 make -j $threads_n AR=$target_gnu_triple-ar
30 make install DESTDIR=$target_sysroot
31
32 # cleanup and tidying
33 rm -Rf $target_sysroot/nyan/$src_name/0/share
34 $target_gnu_triple-strip -s $target_sysroot/nyan/$src_name/0/bin/$src_name
35
36 rm -Rf $build_dir $src_dir
File conf.bootstrap.sh added (mode: 100644) (index 0000000..ef15510)
1 # CONFIGURATION BASIC
2 bootstrap_target_sysroot=/mnt/nyan2/root
3 bootstrap_target_sysroot_uuid=a88e68ce-5f15-412b-9725-95cafe9f7c03
4 bootstrap_target_efi=/mnt/nyan2/efi
5
6 # CONFIGURATION ADVANCED
7 # "linux-gnu" = OS then counts as 1 in the triple
8 bootstrap_build_gnu_triple=x86_64-nyan1-linux-gnu
9 bootstrap_build_ccld_flags='-B/nyan/glibc/current/lib'
10 bootstrap_build_cppflags='-isystem /nyan/glibc/current/include -isystem /nyan/linux-headers/current/include'
11 bootstrap_build_cflags='-O2 -pipe -fPIC'
12 bootstrap_build_cc="$bootstrap_build_gnu_triple-gcc"
13 bootstrap_build_ar="$bootstrap_build_gnu_triple-ar"
14 bootstrap_build_ranlib="$bootstrap_build_gnu_triple-ranlib"
15 bootstrap_build_cpp="$bootstrap_build_cc -E $bootstrap_build_cppflags"
16 bootstrap_build_zlib_cppflags='-I/nyan/zlib/current/include'
17 bootstrap_build_zlib_ldflags='-L/nyan/zlib/current/lib'
18 bootstrap_build_strip="$bootstrap_build_gnu_triple-strip"
19
20 bootstrap_target_linux_arch=x86_64
21 # the arch dir in linux src dir
22 bootstrap_target_linux_arch_dir=x86
23 # bootstrapping on a nyan distro already? use an index suffix
24 bootstrap_target_gnu_triple=x86_64-nyan2-linux-gnu
25 bootstrap_target_efi_boot_exe=BOOTX64.EFI
26 bootstrap_target_cross_toolchain=$bootstrap_target_sysroot/nyan/bootstrap/$bootstrap_build_gnu_triple/cross-toolchains/$bootstrap_target_gnu_triple
27 # really basic checks
28 if test $bootstrap_target_gnu_triple = $bootstrap_build_gnu_triple; then
29 printf "\
30 ERROR:target gnu triple is the same than the bootstrap build gnu triple.\
31 many SDKs won't configure properly. Use noise(=an index) to make them\
32 different\n"
33 exit 1
34 fi
35 if ! test -d $bootstrap_target_sysroot -a -d $bootstrap_target_efi; then
36 printf "\
37 ERROR:missing mounted $bootstrap_target_sysroot or $bootstrap_target_efi\n"
38 exit 1
39 fi
File conf.sh changed (mode: 100644) (index 4334443..8cc15ef)
1 1 #=============================================================================== #===============================================================================
2 src_dir_root=$(readlink -ve ./src)
3 files_dir_root=$(readlink -ve ./files)
4 #===============================================================================
5
2 src_dir_root=$(readlink -f $nyan_root/src)
3 files_dir_root=$(readlink -f $nyan_root/files)
6 4 #=============================================================================== #===============================================================================
7 5 builds_dir_root=/run/builds builds_dir_root=/run/builds
8 6 pkgs_dir_root=/run/pkgs pkgs_dir_root=/run/pkgs
9 7 #=============================================================================== #===============================================================================
10
11 #===============================================================================
12 # parallel build option, but induces often breakage or segfault
13 threads_n=6
14
15 # "linux-gnu" = OS then counts as 1 in the triple
16 target_gnu_triple=x86_64-nyan-linux-gnu
17 target_linux_arch=x86_64
18
19 # linux src version for vanilla release
20 target_linux_version=4
21 target_linux_major=14
22 target_linux_minor=0
23 if test "$target_linux_minor" = "0"; then
24 target_linux_src_version=$target_linux_version.$target_linux_major
25 else
26 target_linux_src_version=$target_linux_version.$target_linux_major.$target_linux_minor
27 fi
28
29 # need to tell glibc the oldest linux version to support
30 glibc_oldest_linux_version=4
31 glibc_oldest_linux_major=14
32 glibc_oldest_linux_minor=0
33
34 # here you can override the location of the linux src tree, if
35 # not vanilla release for instance Linus T. git repo
36 target_linux_src=/root/drm/linux
37 if test -z $target_linux_src; then
38 target_linux_src=/src/linux-$target_linux_src_version
39 fi
40
41 # usually a external mounted file system
42 target_sysroot=/mnt/newnyan
43 # we need 2 cross toolchains:
44 # - one with only c and a posix threaded static target libgcc,
45 # - one with c,c++ because of the retards among the gcc steering committee
46 cross_toolchain_dir_root=$target_sysroot/build/$target_gnu_triple-toolchain
47 cross_toolchain_static_target_libgcc_dir_root=$target_sysroot/build/$target_gnu_triple-toolchain/static-target-libgcc
48
49 build_gnu_triple=x86_64-pc-linux-gnu
50
51 # Due to the regular breakage of gnu packages we are forced to regenerate the
52 # distribution package from bare sources, which requires the unfamous brain
53 # damaged GNU SDK. Not to mention all the "portable" code generators.
54 # This is microsoft/apple grade diareha.
55 sdk_autoconf_path=/nyan/autoconf/current
56 sdk_automake_path=/nyan/automake/current
57 sdk_libtool_path=/nyan/libtool/current
58 sdk_gettext_path=/nyan/gettext/current
59 sdk_perl_path=/nyan/perl/current
60 sdk_python2_path=/nyan/python2/current
61 sdk_python3_path=/nyan/python3/current
62 sdk_intltool_path=/nyan/intltool/current
63 sdk_texinfo_path=/nyan/texinfo/current
64 sdk_help2man_path=/opt/help2man
65 sdk_cmake_path=/nyan/cmake/current
66 sdk_ninja_path=/nyan/ninja/current
67
68 #-------------------------------------------------------------------------------
69 # x86 part, _only_ the for the still 32 bits steam client part
70 x86_target_gnu_triple=i686-nyan-linux-gnu
71 x86_prefix=/opt/x86
72 x86_cross_toolchain_dir_root=$x86_prefix/devel/$x86_target_gnu_triple-toolchain
8 threads_n=11
73 9 #=============================================================================== #===============================================================================
File files/stunnel.sh deleted (index 127292e..0000000)
1 #!/bin/sh
2 /nyan/gnutls/current/bin/gnutls-cli --insecure --port=995 $1 <&0 |
3 while read line;
4 do
5 if echo "$line" | egrep --silent --no-messages 'Simple Client Mode'; then
6 read line
7 exec cat -
8 fi
9 done
File files/sysstart.bootstrap deleted (index cf24a1d..0000000)
1 #!/nyan/dash/current/bin/dash
2
3 export "LD_LIBRARY_PATH=\
4 /nyan/mudev/current/lib"
5
6 export "LD_LIBRARY_PATH_X11=\
7 /nyan/drm/current/lib:\
8 /nyan/freetype/current/lib:\
9 /nyan/libepoxy/current/lib:\
10 /nyan/libfontenc/current/lib:\
11 /nyan/libICE/current/lib:\
12 /nyan/libpng/current/lib:\
13 /nyan/libSM/current/lib:\
14 /nyan/libtxc_dxtn/current/lib:\
15 /nyan/libX11/current/lib:\
16 /nyan/libXau/current/lib:\
17 /nyan/libxcb/current/lib:\
18 /nyan/libXcomposite/current/lib:\
19 /nyan/libXcursor/current/lib:\
20 /nyan/libXdamage/current/lib:\
21 /nyan/libXdmcp/current/lib:\
22 /nyan/libXext/current/lib:\
23 /nyan/libXfixes/current/lib:\
24 /nyan/libXfont2/current/lib:\
25 /nyan/libXft/current/lib:\
26 /nyan/libXi/current/lib:\
27 /nyan/libXinerama/current/lib:\
28 /nyan/libxkbfile/current/lib:\
29 /nyan/libXrandr/current/lib:\
30 /nyan/libXrender/current/lib:\
31 /nyan/libXScrnSaver/current/lib:\
32 /nyan/libxshmfence/current/lib:\
33 /nyan/libXt/current/lib:\
34 /nyan/libXv/current/lib:\
35 /nyan/libXxf86vm/current/lib:\
36 /nyan/mesa-gl/current/lib:\
37 /nyan/pixman/current/lib:\
38 /nyan/fontconfig/current/lib"
39
40
41 export "PATH=\
42 /nyan/util-linux/current/bin:/nyan/util-linux/current/sbin:\
43 /nyan/coreutils/current/bin:\
44 /nyan/nyankmod/current/bin:\
45 /nyan/mudev/current/bin:\
46 /nyan/iproute2/current/sbin:\
47 /nyan/dhcp/current/sbin:\
48 /nyan/ndisc6/current/sbin:\
49 /nyan/strace/current/bin:\
50 /nyan/xserver/current/bin:\
51 /nyan/st/current/bin"
52
53 mount -o nosuid,nodev,noexec,relatime -t proc proc /proc
54
55 # configure a bit the kernel
56 printf '/nyan/nyankmod/current/bin/modprobe' >/proc/sys/kernel/modprobe
57 printf 'freedom' >/proc/sys/kernel/hostname
58
59 # mtab support could be disable in util-linux.
60 ln -sf /proc/self/mounts /etc/mtab
61 mount -o nosuid,nodev,noexec,relatime -t sysfs sysfs /sys
62
63 #-------------------------------------------------------------------------------
64 mount -o exec,nosuid,relatime,size=10M,mode=0755 -t devtmpfs udev /dev
65 # ahem...
66 ln -sf null /dev/log
67
68 mkdir -m 0755 -p /dev/pts
69 mount -o relatime,gid=5,mode=0620 -t devpts devpts /dev/pts
70
71 mkdir -m 1777 -p /dev/shm
72 mount -o nosuid,nodev,noexec,relatime -t tmpfs shm /dev/shm
73 #-------------------------------------------------------------------------------
74
75 rm -Rf /run
76 mkdir /run
77 mount -o nosuid,nodev,relatime,mode=0755 -t tmpfs tmpfs /run
78 chmod +t /run
79 chmod a+w /run
80 rm -Rf /tmp/*
81 rm -Rf /tmp/.?*
82
83 #-------------------------------------------------------------------------------
84 #mudev, unix module is not autoloaded upon first unix socket creation
85 modprobe unix
86 rm -Rf /run/udev
87 dudevd --daemon
88 dudevadm trigger --type=subsystems --action=add
89 dudevadm settle
90 dudevadm trigger --type=devices --action=add
91 dudevadm settle
92 #-------------------------------------------------------------------------------
93
94 #===============================================================================
95 # 2 examples to right away configure the network stack (need to add dhclient
96 # to the cross-build though)
97 #-------------------------------------------------------------------------------
98 #ip addr add 127.0.0.1/8 dev lo
99 #ip addr add 192.168.0.8/24 dev eth0
100 #ip link set dev lo up
101 #ip link set dev eth0 up
102 #ip route add default via 192.168.0.1 dev eth0
103 #-------------------------------------------------------------------------------
104 #modprobe af_packet
105 #dhclient -sf /bin/nyandhcp eth0 &
106 #-------------------------------------------------------------------------------
107 #===============================================================================
108
109 # if you want to manually sync the system time with the hardware RTC
110 #hwclock --hctosys --utc
111
112 #-------------------------------------------------------------------------------
113 #block scheduler, for a SSD drive, cfq I/O scheduler is kind of useless
114 #modprobe cfq-iosched
115 #echo "cfq" > /sys/block/sda/queue/scheduler
116 #-------------------------------------------------------------------------------
117
118 #-------------------------------------------------------------------------------
119 # if your network is configured here, you can start a NTP sync daemon and a
120 # ssh server (you must provide the full path for sshd)
121 #chronyd &
122 #/nyan/openssh/current/bin/sshd &
123 #-------------------------------------------------------------------------------
124
125 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH_X11:$LD_LIBRARY_PATH
126
127 Xorg >/tmp/x.out 2>/tmp/x.err &
128 export DISPLAY=:0
129 export XCURSOR_SIZE=64
130
131 # poll to avoid race or we would need something like upstart/openrc/systemd
132 # polling is kindof less expensive here...
133 while test ! -e /tmp/.X11-unix/X0
134 do
135 sleep 0.01 # gnu sleep
136 done
137
138 # and a terminal emulator to start doing something
139 st -g 256x64 -e env -i HOME=/root TERM=st-256color /nyan/dash/current/bin/dash -i -l &
File pkg-build changed (mode: 100755) (index 6af5349..dc44f5c)
... ... pkg_name=$(basename $1)
14 14
15 15 umask 022 umask 022
16 16
17 . ./builders/$1/builder.sh
17 . ./builders/$1/builder.sh "$@"
18 18
19 19 rmdir $(readlink -f $builds_dir_root) || true rmdir $(readlink -f $builds_dir_root) || true
20 20 rmdir $(readlink -f $pkgs_dir_root) || true rmdir $(readlink -f $pkgs_dir_root) || true
File pkg-build-target deleted (index 7f5fbdb..0000000)
1 #!/bin/sh
2 set -e
3 . ./conf.sh
4 nyan_root=$(readlink -e .)
5
6 if test -z "$1"; then
7 echo Missing package name to build
8 exit 1
9 fi
10
11 pkg_name=$1
12
13 umask 022
14
15 . ./builders/$pkg_name/builder-target.sh
16
17 rmdir $(readlink -m $builds_dir_root) || true
18 rmdir $(readlink -m $pkgs_dir_root) || true
File sdk.sh deleted (index a7f2113..0000000)
1 # source this file in nyanlinux to setup a basic SDK
2 export "PATH=\
3 /nyan/glibc/current/bin:\
4 /nyan/coreutils/current/bin:\
5 /nyan/chrpath/current/bin:\
6 /nyan/xz/current/bin:\
7 /nyan/bzip2/current/bin:\
8 /nyan/gzip/current/bin:\
9 /nyan/tar/current/bin:\
10 /nyan/sed/current/bin:\
11 /nyan/grep/current/bin:\
12 /nyan/gawk/current/bin:\
13 /nyan/make/current/bin:\
14 /nyan/nyanbison/current/bin:\
15 /nyan/flex/current/bin:\
16 /nyan/bc/current/bin:\
17 /nyan/nyankmod/current/bin:\
18 /nyan/efibootmgr/current/bin:\
19 /nyan/efivar/current/bin:\
20 /nyan/file/current/bin:\
21 /nyan/findutils/current/bin:\
22 /nyan/m4/current/bin:\
23 /nyan/dash/current/bin:\
24 /nyan/diffutils/current/bin:\
25 /nyan/patch/current/bin:\
26 /nyan/pkg-config/current/bin:\
27 /nyan/git/current/bin:\
28 /nyan/nasm/current/bin:\
29 /nyan/util-linux/current/bin:\
30 /nyan/vim/current/bin:\
31 /nyan/openssh/current/bin:\
32 /nyan/toolchains/current/bin"
33
34 export "LD_LIBRARY_PATH=/nyan/glib/current/lib"
File utils.sh added (mode: 100644) (index 0000000..2047af3)
1 find_in_path()
2 {
3 r=
4 ifs_prev="$IFS"
5 IFS=:
6 for d in $PATH
7 do
8 if test -x $d/$1; then
9 IFS="$ifs_prev"
10 r=$d/$1
11 return 0
12 fi
13 done
14 IFS="$ifs_prev"
15 return 1
16 }
17
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/sylware/nyanlinux

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/sylware/nyanlinux

Clone this repository using git:
git clone git://git.rocketgit.com/user/sylware/nyanlinux

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main