[General Questions and Answers] ronaldC:
I am now using Proton-Clang toolchain because of its simplicity, now again, my kernel doesn't compile and it is throwing this exception:

Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
make[2]: *** [/mnt/d/ronron/Xiaomi_Kernel_OpenSource/Makefile:1314: prepare-compiler-check] Error 1
make[1]: *** [Makefile:146: sub-make] Error 2
make: *** [Makefile:24: __sub-make] Error 2

The README.md for the proton-clang states:

In my Kernel's source Makefile states:

# Make sure compiler supports requested stack protector flag.
ifdef stackp-name
ifeq ($(call cc-option, $(stackp-flag)),)
@echo Cannot use CONFIG_CC_STACKPROTECTOR_$(stackp-name): \
$(stackp-flag) not supported by compiler >&2 && exit 1
endif
endif

I have been searching this up on google and apparantly clang doesn't have some stack protections.

I would want to enable stack protection as I want to secure my kernel.

I built a bash script to automate the build process:

#!/bin/bash
#
# ============================================================
# Automated Bash Script made by Ronald Campos (c)
#
# This Bash Script is executed to compile and build kernel
# sources easily and conveniently without having to deal
# with typing commands.
#
# To execute this script, you need to execute:
# 'chmod a+x build_automate.sh'
# Finally, load script to memory to start building/compiling:
# './build_automate.sh'
# ============================================================
#

clear # clear and clean the screen/terminal up

# setup print variables for ease
NWLNE=$'\n'
SIGL_APOSTRPH=$'\''

#START

# setup environment variables
echo "Welcome to Ronald Campos$SIGL_APOSTRPH Build/Compile Automation Bash Script!$NWLNE"

echo "Setting up environment variables...$NWLNE"

echo "The Source and Output folder must be contained inside the HOME directory.$NWLNE"
read -p "Preferred location of HOME: " prefHome
read -p "Location of Proton-Clang Toolchain: $prefHome/" toolchain_path
read -p "Output Folder: $prefHome/" output_dir
read -p "Kernel Source Folder: $prefHome/" source_dir
echo -e
export HOME=$prefHome && export PATH="$HOME/$toolchain_path/bin:$PATH"
export OUTPUT_DIRECTORY=$HOME/$output_dir && export SOURCE_DIRECTORY=$HOME/$source_dir

# setup compiler variables
echo "Setting up compiler variables...$NWLNE"
export CROSS_COMPILE=aarch64-linux-gnu- && export CROSS_COMPILE_ARM32=arm-linux-gnueabi-
export ARCH=arm64 && SUBARCH=arm64

echo "Summary:"
echo "CROSS_COMPILE - $CROSS_COMPILE"
echo "CROSS_COMPILE for ARM32 - $CROSS_COMPILE_ARM32"
echo "Target Build Architecture - $ARCH"
echo "Default Compiler: Clang $NWLNE"

# clean directory
echo "Cleaning build directory..."
echo "There might be errors cleaning an empty build directory. It's normal.$NWLNE"
cd $OUTPUT_DIRECTORY
echo "I swear this isn't hanging, I just turned off verbose logging to keep output clean. If you want output, just go ahead to the output folder and open *.log"
echo "Currently executing: $SIGL_APOSTRPH make clean $SIGL_APOSTRPH"
make -j$(nproc --all) clean &> clean_out.log
echo "Currently executing: $SIGL_APOSTRPH make distclean $SIGL_APOSTRPH"
make -j$(nproc --all) distclean &> distclean_out.log
echo "Currently executing: $SIGL_APOSTRPH make mrproper $SIGL_APOSTRPH $NWLNE"
make -j$(nproc --all) mrproper &> mrproper_out.log
echo "Done cleaning build directory!$NWLNE $NWLNE"

# prepare for build/compilation
cd $SOURCE_DIRECTORY
echo "Make sure your defconfig is in the root folder of your kernel source!$NWLNE"

# start compilation
read -p "Defconfig file: $prefHome/$source_dir/" CODENAME_DEFCONFIG
echo "Currently executing: make $CODENAME_DEFCONFIG"
make O=$OUTPUT_DIRECTORY $CODENAME_DEFCONFIG &> defconfig_out.log
echo "configuration written to $SIGL_APOSTRPH .config $SIGL_APOSTRPH $NWLNE"
cd $OUTPUT_DIRECTORY
echo "Building/Compiling Kernel... $NWLNE"
make CC=clang \
AR=llvm-ar \
NM=llvm-nm \
OBJCOPY=llvm-objcopy \
OBJDUMP=llvm-objdump \
LD=lld \
STRIP=llvm-strip\
-j$(nproc --all) &> make_out.log

DONE=1
echo "Done! Exiting... check make_out.log for information about compilation"

#END

and as always thank you for your time.