From patchwork Mon Nov 6 16:51:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Schwierzeck X-Patchwork-Id: 741419 Delivered-To: patch@linaro.org Received: by 2002:adf:fd90:0:b0:32d:baff:b0ca with SMTP id d16csp1193861wrr; Mon, 6 Nov 2023 08:52:13 -0800 (PST) X-Google-Smtp-Source: AGHT+IHE5QedCxOA/MnIo5kC49AWTBtXLAvTOXAOx/WPr+bk5edj4hH9FT5cXzTvxIeO60z5ISzL X-Received: by 2002:a05:6402:22c3:b0:53e:8972:1d4f with SMTP id dm3-20020a05640222c300b0053e89721d4fmr24179074edb.5.1699289532717; Mon, 06 Nov 2023 08:52:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699289532; cv=none; d=google.com; s=arc-20160816; b=Odot8CRc9J2exQm6KSkUy+BjzysepVuYAB6kjdxLkA34CGnS3agjfu3eZThodX6MXg sj0NFyXEcJ692J6S892EGI9xEs7BCyfm0VM1gxFFUSstI8MyKWwUM653MfMnzynS8enq mKOSTEWYkK1XcKCSJ/mdjqH82pF40Bby7B0sRL9MDnu8olzYsFsxPzODWyqHSFTao+Dg SbG/I0M8mOzbQ7R/mVBqFdPiQGgbOBmcNs97+Nb+z3fqYgNI0rrTppFiDsNuBrS8VqAb KnQr/8reU2ZiDxGaygUuxM3Dvk+eolcb1ZuV80G7v/X2CKXLZOPOeXbq/+ZZ6u1XYgkw AJ5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature; bh=fd3jwPCqgwA8prXs7k5nvHB/z/tLvqDtDEF1Dlg+HCg=; fh=U62t+rvesWvdUnEWQqTD+/E9n4VD4C9eilzS/ddJCyQ=; b=bRv+HPk0+PRYNTZgrrMKj2WiL+9Dvh39UW5/yPS6qzAk9rxYerVzVTt7sYKwbnxSeC g7hMaW5caZL/QhfkKIsiIV5NlnluN88yp5lnTC2GC+uoxgHiumZhIjccPA3PCWiaMX3Y ofYumrnHSX7xa8eSANYtp/iqYcBOUd8mTuE8mYJ7J2Lgi7Q3KTCBEpaRQEsKTB0v+Wib 48ZUcRCNvsxVLGSs6zaB3wJ4MLebGgo8XK8BWlsbHOWx4z/9wk6Vjt32QFjqu4y5tsbg 3weReFhs4bpmGa+N0R4H6LUFvJE9cSJcO9jnnCDWcijwIVw2ohuBqoNYcOPUpIX/NRaU OhKg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=f3jGjyW+; spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id c30-20020a509fa1000000b0053e2b24dc5bsi4705937edf.396.2023.11.06.08.52.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Nov 2023 08:52:12 -0800 (PST) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=f3jGjyW+; spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C676C86F87; Mon, 6 Nov 2023 17:52:11 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="f3jGjyW+"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B621387097; Mon, 6 Nov 2023 17:52:10 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com [IPv6:2a00:1450:4864:20::62e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id C624886335 for ; Mon, 6 Nov 2023 17:52:08 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=daniel.schwierzeck@gmail.com Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-9dbb3e0ff65so646424866b.1 for ; Mon, 06 Nov 2023 08:52:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699289528; x=1699894328; darn=lists.denx.de; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=fd3jwPCqgwA8prXs7k5nvHB/z/tLvqDtDEF1Dlg+HCg=; b=f3jGjyW+YM5pHoTkZ1ROAf2o8S5L3qNJUatUEGSZhgoauhXNa6XCqkehaHVbG0udYP iN5ztoQYCRK/P+nJmDSs8KOoAHVhvP2+gHLjbXucPnDiSU3L4ahlgPJVQqb0ne4k2/5A 2nUqCgrqngV4oE2vSIyoEtbUgYhnGccxuQdy6gWL8OnrG9xT3WxecopVscmJjUujL7IR Ie2KUdkr7Ejn84E3QZt3xbfxcQFdmqWaPCaDAGTXPfWII/YE/x+o+3SW8ImANpb6xz56 qP2nw/oyyS2QfIUeOdFW1NIZgeG88kr9MdfOyKm3bYzlmDUMdNf3B3/bOTuPSbvU1yqw LSvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699289528; x=1699894328; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=fd3jwPCqgwA8prXs7k5nvHB/z/tLvqDtDEF1Dlg+HCg=; b=GRg6ehSy7mazGWd3YkzwB76M7Z/C2TtCR+16VA+NL2KbxNvJSUd/Lvk5ett/mSgSYG geyAoti4LHUzwN1+ZNTere8PHIzlPFmHzq/UidxqPvHuPmQB6SukA/0XPAShH7vbv9ir nsV7ELEypqSkYAacdVaLPWUSfWu9RBlihxKsubLIfWWHbUbXajS3I6y/faeSUwOAaljJ c6ZWtB/TnepCUtnWcXjANy/2202kh9S7cVXNm35YG7FoDhqr4UwmOWAC0gClJZkXnR+y Z7Eme1AGzROu5VLlqzQUpHsIWdbnj190cfMK1MuCWQUHZJC9pihpF6gggStwEFRExhFv XD3Q== X-Gm-Message-State: AOJu0YyWvUwg8jM8qwjD+AGptciAynlV6byPsM2hu0FsPoK9frfRzONB Ue9a4drKm2/DURx04gwQ8Af8oa7o12w= X-Received: by 2002:a17:907:2d91:b0:9ae:5765:c134 with SMTP id gt17-20020a1709072d9100b009ae5765c134mr17667543ejc.15.1699289528066; Mon, 06 Nov 2023 08:52:08 -0800 (PST) Received: from workstation.sas.sys.sphairon.com (51-6-142-46.pool.kielnet.net. [46.142.6.51]) by smtp.gmail.com with ESMTPSA id u11-20020a17090617cb00b009920e9a3a73sm28267eje.115.2023.11.06.08.52.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Nov 2023 08:52:07 -0800 (PST) From: Daniel Schwierzeck To: u-boot@lists.denx.de Cc: Linus Walleij , Daniel Schwierzeck Subject: [PATCH] mips: implement __udivdi3 Date: Mon, 6 Nov 2023 17:51:48 +0100 Message-ID: <20231106165157.298319-1-daniel.schwierzeck@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Linus Walleij Squashfs wasn't compiling because the lldiv() directives turn into __udivdi3 and we are using private libgcc. After this squashfs compiles for MIPS. Signed-off-by: Linus Walleij Signed-off-by: Daniel Schwierzeck --- Linus, this is the updated and optimized version of your initial patch. Sorry for the long delay ;) arch/mips/lib/Makefile | 2 +- arch/mips/lib/udivdi3.c | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 arch/mips/lib/udivdi3.c diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile index 9ee1fcb5c7..1621cc9a1f 100644 --- a/arch/mips/lib/Makefile +++ b/arch/mips/lib/Makefile @@ -14,4 +14,4 @@ obj-$(CONFIG_CMD_BOOTM) += bootm.o obj-$(CONFIG_CMD_GO) += boot.o obj-$(CONFIG_SPL_BUILD) += spl.o -lib-$(CONFIG_USE_PRIVATE_LIBGCC) += ashldi3.o ashrdi3.o lshrdi3.o +lib-$(CONFIG_USE_PRIVATE_LIBGCC) += ashldi3.o ashrdi3.o lshrdi3.o udivdi3.o diff --git a/arch/mips/lib/udivdi3.c b/arch/mips/lib/udivdi3.c new file mode 100644 index 0000000000..4d780117cf --- /dev/null +++ b/arch/mips/lib/udivdi3.c @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#include "libgcc.h" + +#if BITS_PER_LONG == 32 + +#include + +long long __udivdi3(long long u, word_type b) +{ + long long ret = u; + + __div64_32(&ret, b); + return ret; +} + +#endif /* BITS_PER_LONG == 32 */