copy attached
uncluttered by extensions
apparently ken thompson did the C version for unix (i just added the types),
which makes it an appropriate test for a new compiler and then kernel port.


On Thu, 29 May 2025 at 22:35, Charles Forsyth <[email protected]>
wrote:

> that reminds me that the first kernel-level program i ran on new ports was
> wump (hunt the wumpus),
> partly to debug similar effects, but also because it's fun if not just
> silly
>
> On Thu, 29 May 2025 at 22:05, Ron Minnich <[email protected]> wrote:
>
>> Daniel and Shawn made good progress on the risc-v port, and their
>> experience reminded me of a standard test I used to use while doing
>> ports.
>> 
>> long story short, for blue gene and other ports (early amd64) we added
>> this test in main
>> 
>> ulong x = 0x12345678;
>> 
>> main()
>> {
>>     if (x != 0x12345678) panic("unaligned data"):
>> 
>> ...
>> 
>> how can this test fail? x is in the data segment, but the immediate in
>> the test is in the text segment. This test is a quick and easy way to
>> check if your data segment is correctly loaded in memory.
>> 
>> In some ports, the data is aligned by code in l.s that moves it.
>> 
>> There are some really nasty, confusing errors that will arise in a
>> seemingly working kernel if data is not aligned.
>> 
>> I always add this test when I'm doing a port. It catches a problem
>> that is otherwise very confusing, and presents as strings  not set up
>> right, variables wrong, etc.

------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T2fa5d9bbce09411d-M20971a617edcf1e37d4cf92f
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Attachment: wump.c.gz
Description: application/gzip

Reply via email to