From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id yOfdJlYm8GarjwAAqHPOHw:P1 (envelope-from ) for ; Sun, 22 Sep 2024 16:14:46 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id yOfdJlYm8GarjwAAqHPOHw (envelope-from ) for ; Sun, 22 Sep 2024 16:14:46 +0200 X-Envelope-To: patches@johnnyrichard.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=m20Zm7nN; dkim=pass header.d=johnnyrichard.com header.s=key1 header.b="t2/GuJIb"; spf=pass (aspmx1.migadu.com: domain of lists@sr.ht designates 46.23.81.152 as permitted sender) smtp.mailfrom=lists@sr.ht; dmarc=pass (policy=quarantine) header.from=johnnyrichard.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=johnnyrichard.com; s=key1; t=1727014486; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-unsubscribe:list-subscribe: list-post:dkim-signature; bh=+BSKcOgSIokvK8dPY3etY+35SMIFJRVo7qcGdo6y5Uw=; b=fK2rU9X6J2QeghBhgPPLzFr2tefhEhdzgpepdvNXiteratlaaWDlFCejzdlLHlOacaY9ch glbVg+EJJL9Vt6Np2JXe4zXmOVEyZ152PvuYcDgN6ThYfw7xHTgNazexTJG1FyML7qFNbz prybHj/4PEbANW3QUNS4/Gl6uDm/DiCIxuyby7X458JCvNV+pP6e48lrqMns7U79IxdfqQ pUGkw0taXtL5b73Z5T42gPPyAj4PdDDYsmYvhUXdeuVp8PtHSGL17Vc8NWqLzmyQMZaooA SExRd1umYL6AuSpOVs8UhOtjggSp0PsvwczdADNQHcCPo/aNie2mwBU4NMHdCQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=m20Zm7nN; dkim=pass header.d=johnnyrichard.com header.s=key1 header.b="t2/GuJIb"; spf=pass (aspmx1.migadu.com: domain of lists@sr.ht designates 46.23.81.152 as permitted sender) smtp.mailfrom=lists@sr.ht; dmarc=pass (policy=quarantine) header.from=johnnyrichard.com ARC-Seal: i=1; s=key1; d=johnnyrichard.com; t=1727014486; a=rsa-sha256; cv=none; b=R5/woIIkgGt3nPRX3GdJeVybJH/jFxeFIEwYmbnvzB9JySWzFjfsYJ9SAQXVGYmNmbCack v9czA6Ii5PFi0xaV/ABrLt1r+NLGGSUG9brBgqTMdsaasGApBGZNXEWbMjFKz9FAnyxyX+ pbMpAZLDLh4lzLjvuavSAnKjD3yoFNK1IsaRVItAjPvqctUKk7mMrz0DgHyaaV3Y9CMSG1 hqq2LSD3NRYnoq50vmJy+dmKRpRSrx6nnC49PRgCl0aYlo0FBMe9G+DJzgu0iOgYv5fnVn mg+9lakK+1FHMMKRRqKqON3dK1pHWU1e+2ZTuAhGBLvMwiRQ8ao8MIuxl+Tjkw== Received: from mail-a.sr.ht (mail-a.sr.ht [46.23.81.152]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 8D0B0F0EC for ; Sun, 22 Sep 2024 16:14:46 +0200 (CEST) DKIM-Signature: a=rsa-sha256; bh=jL5HVzLlfLQ/ccLP5W/vPWkCQ+ANa+55lBfPqj4Acww=; c=simple/simple; d=lists.sr.ht; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-Unsubscribe:List-Subscribe:List-Archive:List-Post:List-ID; q=dns/txt; s=20240113; t=1727014485; v=1; b=m20Zm7nNELZjBeNiqBFsXC3JkR2y/R++AefXjs5xiwjBA+efFklVVym7QpSF7BDNifuVXBOC mkCGZK9OtOwarjtsHWPH6DK9wzuXyGT9mQbPODcFZcSlMcC6FaYb4nV7WWykkPNG5WCyZ0srWVn /PpqWRenfxARgXzbF+dvYkXy/7UovCd6Sv7Kx9RLZXzZNro5YVf6UNe4Gz77B0GvZQoo7CKs5M+ ZrBXIUHXScr2igCZiPxyzI74eDXkfGKzEnlmb2nlQjydLXSFJQU5N4dDlkkwy6B9USi3a/Uw1ig z5//6SFufF+yooLTiYZsFwW9C29EtMumve8D/Bqim6NOg== Received: from lists.sr.ht (unknown [46.23.81.154]) by mail-a.sr.ht (Postfix) with ESMTPSA id 389D820297 for ; Sun, 22 Sep 2024 14:14:45 +0000 (UTC) Received: from out-173.mta0.migadu.com (out-173.mta0.migadu.com [91.218.175.173]) by mail-a.sr.ht (Postfix) with ESMTPS id 80AF02028E for <~johnnyrichard/olang-devel@lists.sr.ht>; Sun, 22 Sep 2024 14:14:44 +0000 (UTC) Date: Sun, 22 Sep 2024 16:15:04 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=johnnyrichard.com; s=key1; t=1727014483; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=+BSKcOgSIokvK8dPY3etY+35SMIFJRVo7qcGdo6y5Uw=; b=t2/GuJIbjzIQ0qvOTRl+gTDBbJZLFLoSE6YY9S7zE9mE7YYY71hZxTj4Osadnk5K+4E7Tj whJhy5rCmygssVAk2B7GjSIPYD/l0XKFUN6XZ8fZOQkBdULLe+HfuDytK7SFm5N0wCYTNK s5ieKRP9XLTDwWl+yaOer/1Mc9vV7EXJZVhl1QmLm5e61acDXPKhgw3jZaUZmsHgfmlzZb n7Fe4IAu2qCoa1POG7K8jzDZ3ahrTro0J6LO/kKmftLK6CawkpcD94NpaCGS1chLC/K8qw CQHvxtTCr02VBqIE8xTEaBDAYdx8SZ2OrvIXyiPLpK9AZY4N53CbdE8SGeyl9A== X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Johnny Richard To: Carlos Maniero Cc: ~johnnyrichard/olang-devel@lists.sr.ht Subject: Re: [PATCH olang v2 4/4] codegen: operate mov instructions based on the symbol's type Message-ID: References: <20240922004619.518310-1-carlos@maniero.me> <20240922004619.518310-5-carlos@maniero.me> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240922004619.518310-5-carlos@maniero.me> List-Unsubscribe: List-Subscribe: List-Archive: Archived-At: List-Post: List-ID: ~johnnyrichard/olang-devel <~johnnyrichard/olang-devel.lists.sr.ht> Sender: ~johnnyrichard/olang-devel <~johnnyrichard/olang-devel@lists.sr.ht> X-Migadu-Flow: FLOW_IN X-Migadu-Country: NL X-Migadu-Spam-Score: -1.16 X-Spam-Score: -1.16 X-Migadu-Queue-Id: 8D0B0F0EC X-Migadu-Scanner: mx10.migadu.com X-TUID: JjGyFJnkBxdZ Great work! Pretty solid patch! On Sun, Sep 22, 2024 at 12:46:43AM GMT, Carlos Maniero wrote: > Signed-off-by: Carlos Maniero > --- > src/codegen_linux_x86_64.c | 60 ++++++++++++++++--- > src/type.c | 18 ++++++ > src/type.h | 5 +- > .../tests/0026_primitive_unsigneds.ol | 27 +++++++++ > 4 files changed, 100 insertions(+), 10 deletions(-) > create mode 100644 tests/integration/tests/0026_primitive_unsigneds.ol > > diff --git a/src/codegen_linux_x86_64.c b/src/codegen_linux_x86_64.c > index 1fa6c58..25cda2d 100644 > --- a/src/codegen_linux_x86_64.c > +++ b/src/codegen_linux_x86_64.c > @@ -26,6 +26,10 @@ > #define SYS_exit (60) > #define PTR_HEX_CSTR_SIZE (18 + 1) > > +// The call instruction pushes EIP into stack so the first 8 bytes from stack > +// must be preserved else the ret instruction will jump to nowere. > +#define X86_CALL_EIP_STACK_OFFSET (8) Nice improvement here as well!