Skip to content

Instantly share code, notes, and snippets.

@X547
Created April 14, 2022 22:51
Show Gist options
  • Save X547/26767fec030842bc297f989cbb0cacc4 to your computer and use it in GitHub Desktop.
Save X547/26767fec030842bc297f989cbb0cacc4 to your computer and use it in GitHub Desktop.
#!/bin/sh
set -e
rm -f kernel_arch_riscv64.a && ar csrDT kernel_arch_riscv64.a \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/Htif.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/RISCV64VMTranslationMap.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_asm.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_commpage.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_cpu.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_debug.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_debug_console.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_elf.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_int.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_platform.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_real_time_clock.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_smp.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_system_info.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_thread.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_timer.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_traps.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_uart_sifive.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_user_debugger.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_vm.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/arch_vm_translation_map.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/debug_uart.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/debug_uart_8250.o \
objects/haiku/riscv64/release/system/kernel/arch/riscv64/sbi_syscalls.o
rm -f kernel_cache.a && ar csrDT kernel_cache.a \
objects/haiku/riscv64/release/system/kernel/cache/block_cache.o \
objects/haiku/riscv64/release/system/kernel/cache/file_cache.o \
objects/haiku/riscv64/release/system/kernel/cache/file_map.o \
objects/haiku/riscv64/release/system/kernel/cache/vnode_store.o
rm -f kernel_debug.a && ar csrDT kernel_debug.a \
objects/haiku/riscv64/release/system/kernel/debug/BreakpointManager.o \
objects/haiku/riscv64/release/system/kernel/debug/blue_screen.o \
objects/haiku/riscv64/release/system/kernel/debug/core_dump.o \
objects/haiku/riscv64/release/system/kernel/debug/debug.o \
objects/haiku/riscv64/release/system/kernel/debug/debug_builtin_commands.o \
objects/haiku/riscv64/release/system/kernel/debug/debug_commands.o \
objects/haiku/riscv64/release/system/kernel/debug/debug_heap.o \
objects/haiku/riscv64/release/system/kernel/debug/debug_hex_dump.o \
objects/haiku/riscv64/release/system/kernel/debug/debug_paranoia.o \
objects/haiku/riscv64/release/system/kernel/debug/debug_parser.o \
objects/haiku/riscv64/release/system/kernel/debug/debug_variables.o \
objects/haiku/riscv64/release/system/kernel/debug/font.o \
objects/haiku/riscv64/release/system/kernel/debug/font_spleen.o \
objects/haiku/riscv64/release/system/kernel/debug/frame_buffer_console.o \
objects/haiku/riscv64/release/system/kernel/debug/gdb.o \
objects/haiku/riscv64/release/system/kernel/debug/safemode_settings.o \
objects/haiku/riscv64/release/system/kernel/debug/system_profiler.o \
objects/haiku/riscv64/release/system/kernel/debug/tracing.o \
objects/haiku/riscv64/release/system/kernel/debug/user_debugger.o
rm -f kernel_device_manager.a && ar csrDT kernel_device_manager.a \
objects/haiku/riscv64/release/system/kernel/device_manager/AbstractModuleDevice.o \
objects/haiku/riscv64/release/system/kernel/device_manager/BaseDevice.o \
objects/haiku/riscv64/release/system/kernel/device_manager/FileDevice.o \
objects/haiku/riscv64/release/system/kernel/device_manager/IOCache.o \
objects/haiku/riscv64/release/system/kernel/device_manager/IOCallback.o \
objects/haiku/riscv64/release/system/kernel/device_manager/IORequest.o \
objects/haiku/riscv64/release/system/kernel/device_manager/IOScheduler.o \
objects/haiku/riscv64/release/system/kernel/device_manager/IOSchedulerRoster.o \
objects/haiku/riscv64/release/system/kernel/device_manager/IOSchedulerSimple.o \
objects/haiku/riscv64/release/system/kernel/device_manager/devfs.o \
objects/haiku/riscv64/release/system/kernel/device_manager/device_manager.o \
objects/haiku/riscv64/release/system/kernel/device_manager/dma_resources.o \
objects/haiku/riscv64/release/system/kernel/device_manager/id_generator.o \
objects/haiku/riscv64/release/system/kernel/device_manager/io_requests.o \
objects/haiku/riscv64/release/system/kernel/device_manager/io_resources.o \
objects/haiku/riscv64/release/system/kernel/device_manager/legacy_drivers.o
rm -f kernel_disk_device_manager.a && ar csrDT kernel_disk_device_manager.a \
objects/haiku/riscv64/release/system/kernel/disk_device_manager/DiskDeviceTypes.o \
objects/haiku/riscv64/release/system/kernel/disk_device_manager/KDiskDevice.o \
objects/haiku/riscv64/release/system/kernel/disk_device_manager/KDiskDeviceManager.o \
objects/haiku/riscv64/release/system/kernel/disk_device_manager/KDiskSystem.o \
objects/haiku/riscv64/release/system/kernel/disk_device_manager/KFileDiskDevice.o \
objects/haiku/riscv64/release/system/kernel/disk_device_manager/KFileSystem.o \
objects/haiku/riscv64/release/system/kernel/disk_device_manager/KPartition.o \
objects/haiku/riscv64/release/system/kernel/disk_device_manager/KPartitionListener.o \
objects/haiku/riscv64/release/system/kernel/disk_device_manager/KPartitionVisitor.o \
objects/haiku/riscv64/release/system/kernel/disk_device_manager/KPartitioningSystem.o \
objects/haiku/riscv64/release/system/kernel/disk_device_manager/UserDataWriter.o \
objects/haiku/riscv64/release/system/kernel/disk_device_manager/ddm_userland_interface.o \
objects/haiku/riscv64/release/system/kernel/disk_device_manager/disk_device_manager.o
rm -f kernel_fs.a && ar csrDT kernel_fs.a \
objects/haiku/riscv64/release/system/kernel/fs/EntryCache.o \
objects/haiku/riscv64/release/system/kernel/fs/KPath.o \
objects/haiku/riscv64/release/system/kernel/fs/Vnode.o \
objects/haiku/riscv64/release/system/kernel/fs/fd.o \
objects/haiku/riscv64/release/system/kernel/fs/fifo.o \
objects/haiku/riscv64/release/system/kernel/fs/node_monitor.o \
objects/haiku/riscv64/release/system/kernel/fs/rootfs.o \
objects/haiku/riscv64/release/system/kernel/fs/socket.o \
objects/haiku/riscv64/release/system/kernel/fs/vfs.o \
objects/haiku/riscv64/release/system/kernel/fs/vfs_boot.o \
objects/haiku/riscv64/release/system/kernel/fs/vfs_net_boot.o
rm -f kernel_os_arch_riscv64.a && ar csrDT kernel_os_arch_riscv64.a \
objects/haiku/riscv64/release/system/kernel/lib/arch/riscv64/byteorder.o \
objects/haiku/riscv64/release/system/kernel/lib/arch/riscv64/generic_atomic.o \
objects/haiku/riscv64/release/system/kernel/lib/arch/riscv64/generic_system_time_nsecs.o \
objects/haiku/riscv64/release/system/kernel/lib/arch/riscv64/kernel_longjmp_return.o \
objects/haiku/riscv64/release/system/kernel/lib/arch/riscv64/kernel_setjmp_save_sigs.o \
objects/haiku/riscv64/release/system/kernel/lib/arch/riscv64/memcpy.o \
objects/haiku/riscv64/release/system/kernel/lib/arch/riscv64/memset.o \
objects/haiku/riscv64/release/system/kernel/lib/arch/riscv64/siglongjmp.o \
objects/haiku/riscv64/release/system/kernel/lib/arch/riscv64/sigsetjmp.o \
objects/haiku/riscv64/release/system/kernel/lib/arch/riscv64/system_time.o
rm -f kernel_lib_posix.a && ar csrDT kernel_lib_posix.a \
objects/haiku/riscv64/release/system/kernel/lib/DataIO.o \
objects/haiku/riscv64/release/system/kernel/lib/LocaleData.o \
objects/haiku/riscv64/release/system/kernel/lib/Referenceable.o \
objects/haiku/riscv64/release/system/kernel/lib/abs.o \
objects/haiku/riscv64/release/system/kernel/lib/access.o \
objects/haiku/riscv64/release/system/kernel/lib/atoi.o \
objects/haiku/riscv64/release/system/kernel/lib/bsearch.o \
objects/haiku/riscv64/release/system/kernel/lib/chmod.o \
objects/haiku/riscv64/release/system/kernel/lib/chown.o \
objects/haiku/riscv64/release/system/kernel/lib/close.o \
objects/haiku/riscv64/release/system/kernel/lib/ctype.o \
objects/haiku/riscv64/release/system/kernel/lib/directory.o \
objects/haiku/riscv64/release/system/kernel/lib/dirent.o \
objects/haiku/riscv64/release/system/kernel/lib/driver_settings.o \
objects/haiku/riscv64/release/system/kernel/lib/dup.o \
objects/haiku/riscv64/release/system/kernel/lib/fcntl.o \
objects/haiku/riscv64/release/system/kernel/lib/ffs.o \
objects/haiku/riscv64/release/system/kernel/lib/find_directory.o \
objects/haiku/riscv64/release/system/kernel/lib/fs_info.o \
objects/haiku/riscv64/release/system/kernel/lib/gettimeofday.o \
objects/haiku/riscv64/release/system/kernel/lib/ioctl.o \
objects/haiku/riscv64/release/system/kernel/lib/kernel_errno.o \
objects/haiku/riscv64/release/system/kernel/lib/kernel_vsprintf.o \
objects/haiku/riscv64/release/system/kernel/lib/link.o \
objects/haiku/riscv64/release/system/kernel/lib/localeconv.o \
objects/haiku/riscv64/release/system/kernel/lib/lseek.o \
objects/haiku/riscv64/release/system/kernel/lib/memchr.o \
objects/haiku/riscv64/release/system/kernel/lib/memcmp.o \
objects/haiku/riscv64/release/system/kernel/lib/memmem.o \
objects/haiku/riscv64/release/system/kernel/lib/memmove.o \
objects/haiku/riscv64/release/system/kernel/lib/merge.o \
objects/haiku/riscv64/release/system/kernel/lib/mkdir.o \
objects/haiku/riscv64/release/system/kernel/lib/mount.o \
objects/haiku/riscv64/release/system/kernel/lib/poll.o \
objects/haiku/riscv64/release/system/kernel/lib/qsort.o \
objects/haiku/riscv64/release/system/kernel/lib/rand.o \
objects/haiku/riscv64/release/system/kernel/lib/random.o \
objects/haiku/riscv64/release/system/kernel/lib/read.o \
objects/haiku/riscv64/release/system/kernel/lib/select.o \
objects/haiku/riscv64/release/system/kernel/lib/stat.o \
objects/haiku/riscv64/release/system/kernel/lib/stpcpy.o \
objects/haiku/riscv64/release/system/kernel/lib/strcasecmp.o \
objects/haiku/riscv64/release/system/kernel/lib/strcasestr.o \
objects/haiku/riscv64/release/system/kernel/lib/strcat.o \
objects/haiku/riscv64/release/system/kernel/lib/strchr.o \
objects/haiku/riscv64/release/system/kernel/lib/strcmp.o \
objects/haiku/riscv64/release/system/kernel/lib/strcpy.o \
objects/haiku/riscv64/release/system/kernel/lib/strcspn.o \
objects/haiku/riscv64/release/system/kernel/lib/strdup.o \
objects/haiku/riscv64/release/system/kernel/lib/strerror.o \
objects/haiku/riscv64/release/system/kernel/lib/strlcat.o \
objects/haiku/riscv64/release/system/kernel/lib/strlcpy.o \
objects/haiku/riscv64/release/system/kernel/lib/strlen.o \
objects/haiku/riscv64/release/system/kernel/lib/strncat.o \
objects/haiku/riscv64/release/system/kernel/lib/strncmp.o \
objects/haiku/riscv64/release/system/kernel/lib/strncpy.o \
objects/haiku/riscv64/release/system/kernel/lib/strndup.o \
objects/haiku/riscv64/release/system/kernel/lib/strnlen.o \
objects/haiku/riscv64/release/system/kernel/lib/strpbrk.o \
objects/haiku/riscv64/release/system/kernel/lib/strrchr.o \
objects/haiku/riscv64/release/system/kernel/lib/strspn.o \
objects/haiku/riscv64/release/system/kernel/lib/strstr.o \
objects/haiku/riscv64/release/system/kernel/lib/strtod.o \
objects/haiku/riscv64/release/system/kernel/lib/strtok.o \
objects/haiku/riscv64/release/system/kernel/lib/strtol.o \
objects/haiku/riscv64/release/system/kernel/lib/strtoll.o \
objects/haiku/riscv64/release/system/kernel/lib/strtoul.o \
objects/haiku/riscv64/release/system/kernel/lib/strtoull.o \
objects/haiku/riscv64/release/system/kernel/lib/strupr.o \
objects/haiku/riscv64/release/system/kernel/lib/sync.o \
objects/haiku/riscv64/release/system/kernel/lib/system_revision.o \
objects/haiku/riscv64/release/system/kernel/lib/time.o \
objects/haiku/riscv64/release/system/kernel/lib/truncate.o \
objects/haiku/riscv64/release/system/kernel/lib/uio.o \
objects/haiku/riscv64/release/system/kernel/lib/usergroup.o \
objects/haiku/riscv64/release/system/kernel/lib/utime.o \
objects/haiku/riscv64/release/system/kernel/lib/wait_for_objects.o \
objects/haiku/riscv64/release/system/kernel/lib/write.o
rm -f kernel_messaging.a && ar csrDT kernel_messaging.a \
objects/haiku/riscv64/release/system/kernel/messaging/KMessage.o \
objects/haiku/riscv64/release/system/kernel/messaging/MessagingService.o
rm -f kernel_posix.a && ar csrDT kernel_posix.a \
objects/haiku/riscv64/release/system/kernel/posix/realtime_sem.o \
objects/haiku/riscv64/release/system/kernel/posix/xsi_message_queue.o \
objects/haiku/riscv64/release/system/kernel/posix/xsi_semaphore.o
rm -f kernel_slab.a && ar csrDT kernel_slab.a \
objects/haiku/riscv64/release/system/kernel/slab/HashedObjectCache.o \
objects/haiku/riscv64/release/system/kernel/slab/MemoryManager.o \
objects/haiku/riscv64/release/system/kernel/slab/ObjectCache.o \
objects/haiku/riscv64/release/system/kernel/slab/ObjectDepot.o \
objects/haiku/riscv64/release/system/kernel/slab/Slab.o \
objects/haiku/riscv64/release/system/kernel/slab/SmallObjectCache.o \
objects/haiku/riscv64/release/system/kernel/slab/allocator.o
rm -f kernel_util.a && ar csrDT kernel_util.a \
objects/haiku/riscv64/release/system/kernel/util/AVLTreeBase.o \
objects/haiku/riscv64/release/system/kernel/util/Bitmap.o \
objects/haiku/riscv64/release/system/kernel/util/KernelReferenceable.o \
objects/haiku/riscv64/release/system/kernel/util/RadixBitmap.o \
objects/haiku/riscv64/release/system/kernel/util/Random.o \
objects/haiku/riscv64/release/system/kernel/util/StringHash.o \
objects/haiku/riscv64/release/system/kernel/util/hostname.o \
objects/haiku/riscv64/release/system/kernel/util/inet_addr.o \
objects/haiku/riscv64/release/system/kernel/util/inet_ntop.o \
objects/haiku/riscv64/release/system/kernel/util/kernel_cpp.o \
objects/haiku/riscv64/release/system/kernel/util/list.o \
objects/haiku/riscv64/release/system/kernel/util/queue.o \
objects/haiku/riscv64/release/system/kernel/util/ring_buffer.o
rm -f kernel_vm.a && ar csrDT kernel_vm.a \
objects/haiku/riscv64/release/system/kernel/vm/PageCacheLocker.o \
objects/haiku/riscv64/release/system/kernel/vm/VMAddressSpace.o \
objects/haiku/riscv64/release/system/kernel/vm/VMAddressSpaceLocking.o \
objects/haiku/riscv64/release/system/kernel/vm/VMAnonymousCache.o \
objects/haiku/riscv64/release/system/kernel/vm/VMAnonymousNoSwapCache.o \
objects/haiku/riscv64/release/system/kernel/vm/VMArea.o \
objects/haiku/riscv64/release/system/kernel/vm/VMCache.o \
objects/haiku/riscv64/release/system/kernel/vm/VMDeviceCache.o \
objects/haiku/riscv64/release/system/kernel/vm/VMKernelAddressSpace.o \
objects/haiku/riscv64/release/system/kernel/vm/VMKernelArea.o \
objects/haiku/riscv64/release/system/kernel/vm/VMNullCache.o \
objects/haiku/riscv64/release/system/kernel/vm/VMPageQueue.o \
objects/haiku/riscv64/release/system/kernel/vm/VMTranslationMap.o \
objects/haiku/riscv64/release/system/kernel/vm/VMUserAddressSpace.o \
objects/haiku/riscv64/release/system/kernel/vm/VMUserArea.o \
objects/haiku/riscv64/release/system/kernel/vm/VMUtils.o \
objects/haiku/riscv64/release/system/kernel/vm/vm.o \
objects/haiku/riscv64/release/system/kernel/vm/vm_page.o
rm -f kernel_core.a && ar csrDT kernel_core.a \
objects/haiku/riscv64/release/system/kernel/DPC.o \
objects/haiku/riscv64/release/system/kernel/Notifications.o \
objects/haiku/riscv64/release/system/kernel/UserEvent.o \
objects/haiku/riscv64/release/system/kernel/UserTimer.o \
objects/haiku/riscv64/release/system/kernel/boot_item.o \
objects/haiku/riscv64/release/system/kernel/boot_splash.o \
objects/haiku/riscv64/release/system/kernel/commpage.o \
objects/haiku/riscv64/release/system/kernel/condition_variable.o \
objects/haiku/riscv64/release/system/kernel/convertutf.o \
objects/haiku/riscv64/release/system/kernel/cpu.o \
objects/haiku/riscv64/release/system/kernel/elf.o \
objects/haiku/riscv64/release/system/kernel/guarded_heap.o \
objects/haiku/riscv64/release/system/kernel/heap.o \
objects/haiku/riscv64/release/system/kernel/image.o \
objects/haiku/riscv64/release/system/kernel/int.o \
objects/haiku/riscv64/release/system/kernel/kernel_daemon.o \
objects/haiku/riscv64/release/system/kernel/listeners.o \
objects/haiku/riscv64/release/system/kernel/lock.o \
objects/haiku/riscv64/release/system/kernel/low_latency.o \
objects/haiku/riscv64/release/system/kernel/low_resource_manager.o \
objects/haiku/riscv64/release/system/kernel/main.o \
objects/haiku/riscv64/release/system/kernel/module.o \
objects/haiku/riscv64/release/system/kernel/platform/efi/platform.o \
objects/haiku/riscv64/release/system/kernel/port.o \
objects/haiku/riscv64/release/system/kernel/power_saving.o \
objects/haiku/riscv64/release/system/kernel/real_time_clock.o \
objects/haiku/riscv64/release/system/kernel/scheduler.o \
objects/haiku/riscv64/release/system/kernel/scheduler_cpu.o \
objects/haiku/riscv64/release/system/kernel/scheduler_profiler.o \
objects/haiku/riscv64/release/system/kernel/scheduler_thread.o \
objects/haiku/riscv64/release/system/kernel/scheduler_tracing.o \
objects/haiku/riscv64/release/system/kernel/scheduling_analysis.o \
objects/haiku/riscv64/release/system/kernel/sem.o \
objects/haiku/riscv64/release/system/kernel/shutdown.o \
objects/haiku/riscv64/release/system/kernel/signal.o \
objects/haiku/riscv64/release/system/kernel/smp.o \
objects/haiku/riscv64/release/system/kernel/stack_protector.o \
objects/haiku/riscv64/release/system/kernel/syscalls.o \
objects/haiku/riscv64/release/system/kernel/system_info.o \
objects/haiku/riscv64/release/system/kernel/team.o \
objects/haiku/riscv64/release/system/kernel/thread.o \
objects/haiku/riscv64/release/system/kernel/timer.o \
objects/haiku/riscv64/release/system/kernel/user_mutex.o \
objects/haiku/riscv64/release/system/kernel/usergroup.o \
objects/haiku/riscv64/release/system/kernel/wait_for_objects.o
#/Haiku/data/packages/haiku2/generated.riscv64/cross-tools-riscv64/bin/riscv64-unknown-haiku-ld
#mold -z noseparate-code -z norelro
/Haiku/data/packages/haiku2/generated.riscv64/cross-tools-riscv64/bin/riscv64-unknown-haiku-ld -shared --no-undefined -o kernel_riscv64 \
--version-script=../src/system/kernel/kernel_versions \
--whole-archive \
kernel_arch_riscv64.a \
kernel_cache.a \
kernel_debug.a \
kernel_device_manager.a \
kernel_disk_device_manager.a \
kernel_fs.a \
kernel_os_arch_riscv64.a \
kernel_lib_posix.a \
kernel_messaging.a \
kernel_posix.a \
kernel_slab.a \
kernel_util.a \
kernel_vm.a \
kernel_core.a \
--no-whole-archive \
build_packages/gcc_syslibs_devel-11.2.0_2021_07_28-5-riscv64/develop/lib/libsupc++-kernel.a \
build_packages/gcc_syslibs_devel-11.2.0_2021_07_28-5-riscv64/develop/lib/libgcc-kernel.a
xres -o "kernel_riscv64" "objects/haiku/riscv64/common/system/kernel/kernel.rsrc"
settype -t application/x-vnd.Be-elfexecutable "kernel_riscv64"
mimeset -f --mimedb "objects/common/data/mime_db/mime_db" "kernel_riscv64"
setversion "kernel_riscv64" -system 1 0 0 a 1 -short "Developer Build"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment