summaryrefslogtreecommitdiff
path: root/Meta
AgeCommit message (Collapse)Author
2023-05-02Everywhere: Make Lagom build with GCC 13Daniel Bertalan
GCC 13 was released on 2023-04-26. This commit fixes Lagom build errors when using an updated host toolchain: - Adds a workaround for a bug in constraint handling, which made LibJS fail to compile: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109683 - Silences the new `-Wdangling-reference` diagnostic globally. It produces multiple false positives with no clear way to silence them without `#pragmas`. - Silences `-Wself-move` in `RefPtr` tests as GCC 13 adds this previously Clang-exclusive warning.
2023-04-30Lagom: Enforce GC-allocated fields are visited in LibJSGCVerifierMatthew Olsson
2023-04-30Lagom: Enforce uniform calls to Base::visit_edges in LibJSGCVerifierMatthew Olsson
This ensures that all visit_edges implementations include a call to Base::visit_edges. In particular, this gives three nice benefits: - The call can't be forgotten (the main benefit, of course). - All of the calls look the same. In other words, always use "Base" instead of the actual concrete class. - Ensure the object has a call to JS_CELL or JS_OBJECT in the definition. Otherwise, Base will not be defined and the call will not compile.
2023-04-28Revert "Kernel/x86: Bake the Prekernel and the Kernel into one image"Tim Schumacher
Some hardware/software configurations crash KVM as soon as we try to start Serenity. The exact cause is currently unknown, so just fully revert it for now. This reverts commit 897c4e5145474d55b247a4a3b5e6bf5420279e2f.
2023-04-28LibWeb: Allow specifying a URL for an SVG fillMacDue
This does not do anything yet, but will allow for gradients later!
2023-04-28Kernel/x86: Bake the Prekernel and the Kernel into one imageLiav A
The new baked image is a Prekernel and a Kernel baked together now, so essentially we no longer need to pass the Prekernel as -kernel and the actual kernel image as -initrd to QEMU, leaving the option to pass an actual initrd or initramfs module later on with multiboot.
2023-04-28AK+Everywhere: Disallow Error::from_string_view(FooString)Ali Mohammad Pur
That pattern seems to show up a lot in code written by people that aren't intimately familiar with the lifetime model of Error and Strings. This commit makes the compiler detect it and present a more helpful diagnostic than "garbage string at runtime".
2023-04-27LibWeb: Add ReadableStreamBYOBReader to ReadableStreamReader typeMatthew Olsson
2023-04-27IPCMagicLinter: Port to `Core::File`Lucas CHOLLET
2023-04-27IPCMagicLinter: Use `LibMain`Lucas CHOLLET
2023-04-26LibWasm: Start implementing WASIAli Mohammad Pur
This commit starts adding support for WASI, along with the framework to implement all the functions (though only a couple are currently implemented).
2023-04-25Meta: Use common method exit_if_running_as_root() in serenity.shKenneth Myhra
This replaces the inline check for running as root with the common method exit_if_running_as_root().
2023-04-25Meta: Add exit_if_running_as_root() to shell_include.shKenneth Myhra
This adds the method exit_if_running_as_root() which checks if the script is executed under root, and if that's the case exits the script.
2023-04-23LibThreading: Create WorkerThread class run a single task concurrentlyZaggy1024
This class can be used to run a task in another thread, and allows the caller to wait for the task to complete to retrieve any error that may have occurred. Currently, it doesn't support functions returning a value on success, but with some template magic that should be possible. :^)
2023-04-21Meta: Add coreutils in macos Azure setupAliaksandr Kalenik
coreutils include timeout tool that is going to be used in layout tests script.
2023-04-21LibWeb: Return typed array and ArrayBuffer for BufferSource in IDL unionLuke Wilde
Previous this ignored typed arrays and ArrayBuffer, hitting the fallback JS -> C++ conversion case, typically stringifying them.
2023-04-18Meta: Move more common flags to common_compile_options.cmakeNico Weber
For the most part no behavior change, except that we now pass -Wno-implicit-const-int-float-conversion and -Wno-literal-suffix only to clang and gcc each in both lagom and serenity builds, while we previously passed them to both in lagom builds (and passed them to one each in serenity builds). The former is a clang flag, the latter a gcc flag, but since we also use -Wno-unknown-warning-option it doesn't really matter.
2023-04-17LibWeb: Properly reject abrupt completion in clean_up_on_returnMatthew Olsson
2023-04-17Meta: Move some flags to common_compile_options.cmakeNico Weber
No behavior change.
2023-04-15Meta: Allow overriding the calculated disk image inode countTim Schumacher
2023-04-15Meta: Add missing quotation marks for INODE_COUNT and INODE_SIZETim Schumacher
2023-04-15LibJS: Port iterator_step() to GCPtrLinus Groh
2023-04-14Lagom: Add an option for standalone fuzzers to BuildFuzzers.shTim Schumacher
This builds simple fuzzing binaries without any oss-fuzz specific configuration and without any LibFuzzer instrumentation.
2023-04-14LibJS: Port Value::get_method() to GCPtrLinus Groh
2023-04-14LibJS: Port Value::to_object() to NonnullGCPtrLinus Groh
2023-04-13LibLocale: Update to CLDR version 43.0.0Timothy Flynn
https://cldr.unicode.org/index/downloads/cldr-43
2023-04-13LibLocale: Prepare locale data generator for breaking changes in CLDR 43Timothy Flynn
In CLDR 42 and earlier, we were able to assume all cldr-localename files existed for every locale. They now do not exist for locales that don't provide any localized data. Namely, this is the "und" locale (which is an alias for the root locale, i.e. the locale we fall back to when a user provides an unknown locale). Further, we were previously able to assume that each currencies.json in cldr-numbers contained all currencies. This file now excludes currencies whose localized names are the same as the currency key. Therefore, we now preprocess currencies.json to discover all currencies ahead of time, much like we already do for languages.json.
2023-04-13LibJS: Make well-known symbol getters return NonnullGCPtrLinus Groh
None of these are ever null after the VM has been initialized, as proved by virtually every caller immediately dereferencing the raw pointer.
2023-04-13LibJS: Make intrinsics getters return NonnullGCPtrLinus Groh
Some of these are allocated upon initialization of the intrinsics, and some lazily, but in neither case the getters actually return a nullptr. This saves us a whole bunch of pointer dereferences (as NonnullGCPtr has an `operator T&()`), and also has the interesting side effect of forcing us to explicitly use the FunctionObject& overload of call(), as passing a NonnullGCPtr is ambigous - it could implicitly be turned into a Value _or_ a FunctionObject& (so we have to dereference manually).
2023-04-12Fuzzers: Stop loading audio frames once the end is reachedTim Schumacher
Previously, the condition was reversed, so we would stop immediately on a file that has at least one working chunk, and we would infinitely loop on a file with no chunks.
2023-04-11Meta: Do not require Tmux for lagom gdbCoderdreams
2023-04-11Toolchain: Move GDB build to a separate scriptDaniel Bertalan
Target GDB is only used for debugging the kernel, which is not relevant to most people. Starting with 924758c6f8bcf, GDB would always be built as part of the toolchain if the user didn't have it installed. This is unnecessary. This commit adds a separate script for building GDB, which the user needs to explicitly invoke. A message is added to Meta/debug-kernel.sh which alerts the user to this fact.
2023-04-09ConfigureComponents: Use `FileSystem` instead of `DeprecatedFile`Cameron Youell
2023-04-09Everywhere: Remove unused DeprecatedString includesBen Wiederhake
2023-04-09Meta+Toolchain: Redirect GDB error output to stdout before greppingTim Schumacher
2023-04-09Meta: Add a missing dash to the GDB detection codeTim Schumacher
2023-04-09Meta: Run the QEMU ISA-PC machine with a 64-bit capable CPULiav A
When we had 32 bit support in the OS kernel and userland, the very bare minimum CPU we supported was Pentium 3, but now the CPU is just required to support x86-64 long mode to be supported, so the exact model is not very important. I chose the QEMU64 virtual CPU model, because the whole concept of the QEMU ISA-PC machine is that it checks how the kernel handles arbitrarily old hardware setup.
2023-04-08Fuzzers: Add a WebP fuzzerNico Weber
2023-04-07LibTimeZone: Update to TZDB version 2023cTimothy Flynn
https://mm.icann.org/pipermail/tz-announce/2023-March/000079.html
2023-04-07LibWeb: Implement VideoTrack and VideoTrackListTimothy Flynn
This implements the IDL for these types and some event handling around them.
2023-04-06LibWeb: Add the WritableStreamDefaultWriter interfaceMatthew Olsson
2023-04-06LibWeb: Implement the HTMLConstructor extended attributeLuke Wilde
2023-04-06LibWeb: Implement the CEReactions extended attributeLuke Wilde
2023-04-06LibWeb: Support returning a callback function in IDLLuke Wilde
2023-04-06LibTLS: Change Certificate parsing to use ErrorOrstelar7
Loads of changes that are tightly connected... :/ * Change lambdas to static functions * Add spec docs to those functions * Keep the current scope around as a parameter * Add wrapping classes for some Certificate members * Parse ec and ecdsa data from certificates
2023-04-03Toolchain+Meta: Support kernel debugging with host AArch64 GDBDaniel Bertalan
Previously, we would unconditionally build GDB from source for the AArch64 toolchain. This commit makes it possible to use the system's `gdb` binary if it supports the architecture, or `aarch64-elf-gdb` if such a package is installed. An `aarch64-elf-gdb` package will be available through Homebrew once this PR is merged: https://github.com/Homebrew/homebrew-core/pull/127323
2023-04-03Meta: Lazily initialize initial property valuesMacDue
This solves the longhands must be initialized before shorthands problem by just initializing the value when it is first requested. This will be needed for background-position-x/y which is a longhand of a longhand, which otherwise breaks the longhands before shorthands rule.
2023-04-02Meta: Check if SERENITY_USE_SDCARD is set before checking its valueAndrew Kaster
This avoids a bash complaint for the new option
2023-04-02Meta: Add SERENITY_USE_SDCARD to boot from an SD cardMarco Cutecchia
2023-04-02Meta: Enable asm-view symbol demangling in the gdb kernel debug scriptIdan Horowitz
This makes sure that symbol names are demangled in the assembly view.