Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jan 2023 19:29:59 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Jessica Clarke <jrtc27@freebsd.org>
Cc:        Warner Losh <imp@freebsd.org>,  "src-committers@freebsd.org" <src-committers@freebsd.org>,  "dev-commits-src-all@freebsd.org" <dev-commits-src-all@freebsd.org>,  "dev-commits-src-main@freebsd.org" <dev-commits-src-main@freebsd.org>
Subject:   Re: git: 34784d17eb2b - main - elf: Catch up with defining EF_ARM_EABI_VERSION in elf_common.h
Message-ID:  <CANCZdfphY8XLEmi%2Bv5H4pAHU5PdydrgSNQyPkkSR8c6XfrGHqA@mail.gmail.com>
In-Reply-To: <CANCZdfqOb0cKKxV0qUwPK9R%2BA0Dr--s3jWgGd_-8CsD7=dFewg@mail.gmail.com>
References:  <202301210220.30L2KBQv006863@gitrepo.freebsd.org> <EAE7EA3A-EDF0-44AF-B9B1-25749C39E930@freebsd.org> <CANCZdfqOb0cKKxV0qUwPK9R%2BA0Dr--s3jWgGd_-8CsD7=dFewg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000f52e1905f2bcf1de
Content-Type: text/plain; charset="UTF-8"

On Fri, Jan 20, 2023 at 7:27 PM Warner Losh <imp@bsdimp.com> wrote:

>
>
> On Fri, Jan 20, 2023 at 7:22 PM Jessica Clarke <jrtc27@freebsd.org> wrote:
>
>> On 21 Jan 2023, at 02:20, Warner Losh <imp@FreeBSD.org> wrote:
>> >
>> > The branch main has been updated by imp:
>> >
>> > URL:
>> https://cgit.FreeBSD.org/src/commit/?id=34784d17eb2bcdcfaee39f570bff613b4055912d
>> >
>> > commit 34784d17eb2bcdcfaee39f570bff613b4055912d
>> > Author:     Warner Losh <imp@FreeBSD.org>
>> > AuthorDate: 2023-01-21 02:15:52 +0000
>> > Commit:     Warner Losh <imp@FreeBSD.org>
>> > CommitDate: 2023-01-21 02:18:15 +0000
>> >
>> >    elf: Catch up with defining EF_ARM_EABI_VERSION in elf_common.h
>> >
>> >    FreeBSD defines EF_ARM_EABI_VERSION in a non-standard way (at least
>> >    differently than everybody else). We use this only in elf*machdep.c
>> to
>> >    make sure the image is new enough. Switch to the more standard way of
>> >    defining this and adjust other constants to match.
>> >
>> >    Fixes:                  c52c98e69a2e
>> >    Sponsored by:           Netflix
>> > ---
>> > sys/arm/include/elf.h           | 3 +--
>> > sys/arm64/arm64/elf32_machdep.c | 3 +--
>> > 2 files changed, 2 insertions(+), 4 deletions(-)
>> >
>> > diff --git a/sys/arm/include/elf.h b/sys/arm/include/elf.h
>> > index 35d0fa55ca1a..2ea60e8f10ee 100644
>> > --- a/sys/arm/include/elf.h
>> > +++ b/sys/arm/include/elf.h
>> > @@ -74,9 +74,8 @@ __ElfType(Auxinfo);
>> > #define       ELF_TARG_VER    1
>> >
>> > /* Defines specific for arm headers */
>> > -#define      EF_ARM_EABI_VERSION(x) (((x) & EF_ARM_EABIMASK) >> 24)
>> > #define       EF_ARM_EABI_VERSION_UNKNOWN 0
>>
>> Can also use EF_ARM_EABI_UNKNOWN in its place?
>>
>
> I'm not sure I understand the question...   In what's place?
>

Oh, I see... Yea... We can just delete EF_ARM_EABI_VERSION_UNKNOWN since
it's unused.
It was added for the OABI -> EABI transition...

Warner


> Warner
>
>
>> Jess
>>
>> > -#define      EF_ARM_EABI_FREEBSD_MIN 4
>> > +#define      EF_ARM_EABI_FREEBSD_MIN EF_ARM_EABI_VER4
>> >
>> > #define       ET_DYN_LOAD_ADDR 0x01001000
>> >
>> > diff --git a/sys/arm64/arm64/elf32_machdep.c
>> b/sys/arm64/arm64/elf32_machdep.c
>> > index f637c5a65c05..627973ecfd3d 100644
>> > --- a/sys/arm64/arm64/elf32_machdep.c
>> > +++ b/sys/arm64/arm64/elf32_machdep.c
>> > @@ -152,8 +152,7 @@ elf32_arm_abi_supported(struct image_params *imgp,
>> int32_t *osrel __unused,
>> >           ID_AA64PFR0_EL0_64_32)
>> >               return (FALSE);
>> >
>> > -#define      EF_ARM_EABI_VERSION(x)  (((x) & EF_ARM_EABIMASK) >> 24)
>> > -#define      EF_ARM_EABI_FREEBSD_MIN 4
>> > +#define      EF_ARM_EABI_FREEBSD_MIN EF_ARM_EABI_VER4
>> >       hdr = (const Elf32_Ehdr *)imgp->image_header;
>> >       if (EF_ARM_EABI_VERSION(hdr->e_flags) < EF_ARM_EABI_FREEBSD_MIN) {
>> >               if (bootverbose)
>>
>>

--000000000000f52e1905f2bcf1de
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Fri, Jan 20, 2023 at 7:27 PM Warne=
r Losh &lt;<a href=3D"mailto:imp@bsdimp.com">imp@bsdimp.com</a>&gt; wrote:<=
br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"=
><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote"><div dir=3D"ltr"=
 class=3D"gmail_attr">On Fri, Jan 20, 2023 at 7:22 PM Jessica Clarke &lt;<a=
 href=3D"mailto:jrtc27@freebsd.org" target=3D"_blank">jrtc27@freebsd.org</a=
>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px=
 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On =
21 Jan 2023, at 02:20, Warner Losh &lt;imp@FreeBSD.org&gt; wrote:<br>
&gt; <br>
&gt; The branch main has been updated by imp:<br>
&gt; <br>
&gt; URL: <a href=3D"https://cgit.FreeBSD.org/src/commit/?id=3D34784d17eb2b=
cdcfaee39f570bff613b4055912d" rel=3D"noreferrer" target=3D"_blank">https://=
cgit.FreeBSD.org/src/commit/?id=3D34784d17eb2bcdcfaee39f570bff613b4055912d<=
/a><br>
&gt; <br>
&gt; commit 34784d17eb2bcdcfaee39f570bff613b4055912d<br>
&gt; Author:=C2=A0 =C2=A0 =C2=A0Warner Losh &lt;imp@FreeBSD.org&gt;<br>
&gt; AuthorDate: 2023-01-21 02:15:52 +0000<br>
&gt; Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh &lt;imp@FreeBSD.org&gt;<br>
&gt; CommitDate: 2023-01-21 02:18:15 +0000<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 elf: Catch up with defining EF_ARM_EABI_VERSION in elf_co=
mmon.h<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 FreeBSD defines EF_ARM_EABI_VERSION in a non-standard way=
 (at least<br>
&gt;=C2=A0 =C2=A0 differently than everybody else). We use this only in elf=
*machdep.c to<br>
&gt;=C2=A0 =C2=A0 make sure the image is new enough. Switch to the more sta=
ndard way of<br>
&gt;=C2=A0 =C2=A0 defining this and adjust other constants to match.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 Fixes:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 c52c98e69a2e<br>
&gt;=C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Net=
flix<br>
&gt; ---<br>
&gt; sys/arm/include/elf.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 3 +--<=
br>
&gt; sys/arm64/arm64/elf32_machdep.c | 3 +--<br>
&gt; 2 files changed, 2 insertions(+), 4 deletions(-)<br>
&gt; <br>
&gt; diff --git a/sys/arm/include/elf.h b/sys/arm/include/elf.h<br>
&gt; index 35d0fa55ca1a..2ea60e8f10ee 100644<br>
&gt; --- a/sys/arm/include/elf.h<br>
&gt; +++ b/sys/arm/include/elf.h<br>
&gt; @@ -74,9 +74,8 @@ __ElfType(Auxinfo);<br>
&gt; #define=C2=A0 =C2=A0 =C2=A0 =C2=A0ELF_TARG_VER=C2=A0 =C2=A0 1<br>
&gt; <br>
&gt; /* Defines specific for arm headers */<br>
&gt; -#define=C2=A0 =C2=A0 =C2=A0 EF_ARM_EABI_VERSION(x) (((x) &amp; EF_ARM=
_EABIMASK) &gt;&gt; 24)<br>
&gt; #define=C2=A0 =C2=A0 =C2=A0 =C2=A0EF_ARM_EABI_VERSION_UNKNOWN 0<br>
<br>
Can also use EF_ARM_EABI_UNKNOWN in its place?<br></blockquote><div><br></d=
iv><div>I&#39;m not sure I understand the question...=C2=A0=C2=A0 In what&#=
39;s place?</div></div></div></blockquote><div><br></div><div>Oh, I see... =
Yea... We can just delete EF_ARM_EABI_VERSION_UNKNOWN since it&#39;s unused=
.</div><div>It was added for the OABI -&gt; EABI transition...<br></div><di=
v><br></div><div>Warner<br></div><div>=C2=A0</div><blockquote class=3D"gmai=
l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,20=
4,204);padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_quote"><div>W=
arner<br></div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"=
margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-lef=
t:1ex">
Jess<br>
<br>
&gt; -#define=C2=A0 =C2=A0 =C2=A0 EF_ARM_EABI_FREEBSD_MIN 4<br>
&gt; +#define=C2=A0 =C2=A0 =C2=A0 EF_ARM_EABI_FREEBSD_MIN EF_ARM_EABI_VER4<=
br>
&gt; <br>
&gt; #define=C2=A0 =C2=A0 =C2=A0 =C2=A0ET_DYN_LOAD_ADDR 0x01001000<br>
&gt; <br>
&gt; diff --git a/sys/arm64/arm64/elf32_machdep.c b/sys/arm64/arm64/elf32_m=
achdep.c<br>
&gt; index f637c5a65c05..627973ecfd3d 100644<br>
&gt; --- a/sys/arm64/arm64/elf32_machdep.c<br>
&gt; +++ b/sys/arm64/arm64/elf32_machdep.c<br>
&gt; @@ -152,8 +152,7 @@ elf32_arm_abi_supported(struct image_params *imgp,=
 int32_t *osrel __unused,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ID_AA64PFR0_EL0_64_32)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (FALSE);<=
br>
&gt; <br>
&gt; -#define=C2=A0 =C2=A0 =C2=A0 EF_ARM_EABI_VERSION(x)=C2=A0 (((x) &amp; =
EF_ARM_EABIMASK) &gt;&gt; 24)<br>
&gt; -#define=C2=A0 =C2=A0 =C2=A0 EF_ARM_EABI_FREEBSD_MIN 4<br>
&gt; +#define=C2=A0 =C2=A0 =C2=A0 EF_ARM_EABI_FREEBSD_MIN EF_ARM_EABI_VER4<=
br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0hdr =3D (const Elf32_Ehdr *)imgp-&gt;image_h=
eader;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0if (EF_ARM_EABI_VERSION(hdr-&gt;e_flags) &lt=
; EF_ARM_EABI_FREEBSD_MIN) {<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (bootverbose)=
<br>
<br>
</blockquote></div></div>
</blockquote></div></div>

--000000000000f52e1905f2bcf1de--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfphY8XLEmi%2Bv5H4pAHU5PdydrgSNQyPkkSR8c6XfrGHqA>