[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: release?

From: Fred Wright
Subject: Re: release?
Date: Fri, 6 Jan 2023 14:14:01 -0800 (PST)

On Thu, 5 Jan 2023, Gary E. Miller wrote:
On Thu, 5 Jan 2023 19:49:50 -0800 (PST) Fred Wright <> wrote:
On Thu, 5 Jan 2023, Gary E. Miller wrote:
As this only applies to OpenBSD 7, I'll make the test window really
short. Test now.  If there is silence I'll release Friday.

There are a number of puzzling things about this issue, though I
guess with the narrow applicability they can wait until after the
release to sort out.

Questions are always in order.  What is puzzling?

Position-independent code has always been required for shared-library code, on all platforms. This is already handled by using SharedObject(). In fact, I think the only difference between SharedObject() and StaticObject() is the use of the appropriate PIC option(s) in the former.

Ordinarily, executable code doesn't need to be position-independent, but probably changes in the presence of aggressive ASLR (i.e., ASLR applied to code as well as data). And I wouldn't put it past OpenBSD to make aggressive ASLR mandatory.

There's a weaker variety of PIC, called PIE, which is usually considered adequate and preferable for executables. It appears that this was created specifically for ASLR, and is probably what's wanted here.

At least in GCC, there seem to be four different PIC-related options with three different effects: -fpic, -fPIC, -fpie, and -fPIE. The latter two are listed as being equivalent, but these are still three different options in effect, with explanations lacking in detail.

If it's necessary to get extra flags to the linker on a link-only command, then I believe that's supposed to be done via LINKFLAGS, not CCFLAGS.

Fred Wright

reply via email to

[Prev in Thread] Current Thread [Next in Thread]