ecomaikgolf / alma

toy kernel written in C++ for x86-64 machines with the mere purpose of learning OS development
8 stars 1 forks source link

Change location of the toolchain for bootloader #6

Closed ecomaikgolf closed 3 years ago

ecomaikgolf commented 3 years ago

Moving from bootloader/ to toolchain/

ecomaikgolf commented 3 years ago

Fixing makefile bugs & moving everything.

ecomaikgolf commented 3 years ago

Testing

Testing 100% clean build from 0.

[ecomaikgolf@desktop ../os-dev/toolchain]$ tree                                                                 (130) [21:04:49]
.
├── build
│   ├── posix-uefi
│   ├── toolchain
│   └── uefi
└── makefile

binutils-gdb brotli dependency error

gcc  -c  -I .. -I ../Include/Common -I ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I ../Include/X64/ -MD -fshort-wchar -fno-strict-aliasing -fwrapv -fno-delete-null-pointer-checks -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-unused-result -nostdlib -g -O2  -D_7ZIP_ST LzmaCompress.c -o LzmaCompress.o
brotli/c/dec/decode.c:2033:41: error: argument 2 of type ‘const uint8_t *’ {también conocido como ‘const unsigned char *’} declared as a pointer [-Werror=vla-parameter]
 2033 |     size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size,
      |                          ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
En el fichero incluido desde brotli/c/dec/decode.c:7:
./brotli/c/include/brotli/decode.h:204:19: nota: previously declared as a variable length array ‘const uint8_t[*decoded_size]’ {también conocido como ‘const unsigned char[*decoded_size]’}
  204 |     const uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(encoded_size)],
      |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
brotli/c/dec/decode.c:2034:14: error: argument 4 of type ‘uint8_t *’ {también conocido como ‘unsigned char *’} declared as a pointer [-Werror=vla-parameter]
 2034 |     uint8_t* decoded_buffer) {
      |     ~~~~~~~~~^~~~~~~~~~~~~~
En el fichero incluido desde brotli/c/dec/decode.c:7:
./brotli/c/include/brotli/decode.h:206:13: nota: previously declared as a variable length array ‘uint8_t[encoded_size]’ {también conocido como ‘unsigned char[encoded_size]’}
  206 |     uint8_t decoded_buffer[BROTLI_ARRAY_PARAM(*decoded_size)]);
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Doesn't affect us, seems to be a problem with "brotli" a dependency from binutils-gdb. As we compile from it's master branch probably they'll hotfix it.

I've been looking some way to put concrete tags in the submodules but seems that I can't. I'll take a look at it in the future if some commit breaks the build. The best way I think is to fork each submodule or a plain git checkout in the makefile.

Working

make[1]: se sale del directorio '/run/media/HDD/Proyectos/os-dev/toolchain/posix-uefi/uefi'
[ecomaikgolf@desktop ../os-dev/toolchain]$                                                                                                                                                                                 (0) [2:35:41]

0 exit status