From: "Jarkko Sakkinen" <jarkko@kernel.org>
To: "Jo Van Bulck" <jo.vanbulck@cs.kuleuven.be>,
<kai.huang@intel.com>, <linux-sgx@vger.kernel.org>,
<linux-kernel@vger.kernel.org>
Cc: <dave.hansen@linux.intel.com>
Subject: Re: [PATCH v3 9/9] selftests/sgx: Specify freestanding environment for enclave compilation
Date: Wed, 23 Aug 2023 20:31:32 +0300 [thread overview]
Message-ID: <CV03QFOJR0PY.8QYY51SMOAO2@suppilovahvero> (raw)
In-Reply-To: <819a5450-127b-ecd2-ac01-c58e848fba1d@cs.kuleuven.be>
On Wed Aug 23, 2023 at 3:57 PM EEST, Jo Van Bulck wrote:
> On 22.08.23 12:14, Jarkko Sakkinen wrote:
> > Do you still need nostdfiles and nostartfiles with freestanding?
>
> Thanks, good question. I tested that compiling with only -ffreestanding
> yields:
>
> /* snipped */
> /usr/local/bin/ld:
> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/rcrt1.o: in
> function `_start':
> (.text+0x24): undefined reference to `main'
> /* snipped */
>
> So we definitely still need -nostartfiles to prevent the compiler/linker
> from introducing the standard system startup functions. However, in my
> understanding, -nostdlib (which is what I assume you mean with
> nostdfiles) already implies the individual options -nodefaultlibs and
> -nostartfiles.
>
> Thus, we definitely still need -nostartfiles and I'm not 100% sure we
> don't need -nostdlib (though it compiles fine for me with only
> -nostartfiles). Gcc only specifies:
>
> -ffreestanding
> Assert that compilation targets a freestanding environment. This
> implies -fno-builtin. A freestanding environment is one in which the
> standard library may not exist, and program startup may not necessarily
> be at "main".
>
> Bottom line: I suggest to keep -nostdlib to be sure and remove
> -nostartfiles (as it is redundant). I'll include this in the next patch
> iteration.
>
> Best,
> Jo
OK, cool, sounds like plan.
BR, Jarkko
next prev parent reply other threads:[~2023-08-23 17:31 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-19 9:43 [PATCH v3 0/9] selftests/sgx: Fix compilation errors Jo Van Bulck
2023-08-19 9:43 ` [PATCH v3 1/9] selftests/sgx: Fix uninitialized pointer dereference in error path Jo Van Bulck
2023-08-19 9:43 ` [PATCH v3 2/9] selftests/sgx: Produce static-pie executable for test enclave Jo Van Bulck
2023-08-22 0:26 ` Huang, Kai
2023-08-23 13:19 ` Jo Van Bulck
2023-08-19 9:43 ` [PATCH v3 3/9] selftests/sgx: Handle relocations in " Jo Van Bulck
2023-08-22 1:11 ` Huang, Kai
2023-08-25 13:27 ` Jo Van Bulck
2023-08-22 10:08 ` Jarkko Sakkinen
2023-08-19 9:43 ` [PATCH v3 4/9] selftests/sgx: Fix linker script asserts Jo Van Bulck
2023-08-22 10:09 ` Jarkko Sakkinen
2023-08-19 9:43 ` [PATCH v3 5/9] selftests/sgx: Include memory clobber for inline asm in test enclave Jo Van Bulck
2023-08-22 10:10 ` Jarkko Sakkinen
2023-08-19 9:43 ` [PATCH v3 6/9] selftests/sgx: Ensure test enclave buffer is entirely preserved Jo Van Bulck
2023-08-21 11:10 ` Huang, Kai
2023-08-22 10:10 ` Jarkko Sakkinen
2023-08-19 9:43 ` [PATCH v3 7/9] selftests/sgx: Ensure expected location of test enclave buffer Jo Van Bulck
2023-08-21 11:10 ` Huang, Kai
2023-08-22 10:11 ` Jarkko Sakkinen
2023-08-19 9:43 ` [PATCH v3 8/9] selftests/sgx: Separate linker options Jo Van Bulck
2023-08-22 10:11 ` Jarkko Sakkinen
2023-08-19 9:43 ` [PATCH v3 9/9] selftests/sgx: Specify freestanding environment for enclave compilation Jo Van Bulck
2023-08-22 10:14 ` Jarkko Sakkinen
2023-08-23 12:57 ` Jo Van Bulck
2023-08-23 17:31 ` Jarkko Sakkinen [this message]
2023-08-22 10:31 ` [PATCH v3 0/9] selftests/sgx: Fix compilation errors Jarkko Sakkinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CV03QFOJR0PY.8QYY51SMOAO2@suppilovahvero \
--to=jarkko@kernel.org \
--cc=dave.hansen@linux.intel.com \
--cc=jo.vanbulck@cs.kuleuven.be \
--cc=kai.huang@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sgx@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox