From: Andrei Borzenkov <arvidjaar@gmail.com>
To: Jiri B <jirib@devio.us>
Cc: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>,
The development of GNU GRUB <grub-devel@gnu.org>,
bug-grub@gnu.org
Subject: Re: [openbsd] 2.02-beta3: build fails - getroot.c:(.text+0x2b): undefined reference to `getrawpartition'
Date: Fri, 18 Mar 2016 19:53:13 +0300 [thread overview]
Message-ID: <56EC3279.2020909@gmail.com> (raw)
In-Reply-To: <20160318130142.GE32407@wolfman.devio.us>
[-- Attachment #1: Type: text/plain, Size: 1498 bytes --]
18.03.2016 16:01, Jiri B пишет:
> On Fri, Mar 18, 2016 at 06:26:47AM +0300, Andrei Borzenkov wrote:
>>> [...]
>>> CFLAGS=-ftrampolines -fno-stack-protector -fno-pie -nopie
>>>
>>> So I gave it a try and it seems better (?)
>>>
>>> $ ls -l /home/jirib/openbsd/pobj/grub-2.02-beta3/fake-amd64/usr/local/lib/grub/i386-pc/lzma_decompress.im*
>>> -rwxr-xr-x 1 jirib wheel 3068 Mar 17 21:45 /home/jirib/openbsd/pobj/grub-2.02-beta3/fake-amd64/usr/local/lib/grub/i386-pc/lzma_decompress.image*
>>> -rw-r--r-- 1 jirib wheel 2832 Mar 17 21:45 /home/jirib/openbsd/pobj/grub-2.02-beta3/fake-amd64/usr/local/lib/grub/i386-pc/lzma_decompress.img
>>>
>>> $ objdump -f /home/jirib/openbsd/pobj/grub-2.02-beta3/fake-amd64/usr/local/lib/grub/i386-pc/lzma_decompress.image
>>>
>>> /home/jirib/openbsd/pobj/grub-2.02-beta3/fake-amd64/usr/local/lib/grub/i386-pc/lzma_decompress.image: file format elf32-i386
>>> architecture: i386, flags 0x00000002:
>>> EXEC_P
>>> start address 0x00008200
>>>
>>> It is OK?
>>>
>>
>> It certainly looks better than before. Does it actually work?
>>
>> We aready use -fno-PIE, looks like we need to explicitly check for
>> -fno-pie as well.
>
> I just booted OpenBSD from "native OpenBSD" grub2:
>
Good. Please test attached patch.
@Vladimir: I was unsure whether to add explicit -fpie test, but at the
end I do not see what it buys us. Both options have been introduced at
the same time and we want neither enabled. Current test covers both.
Is it OK to commit?
[-- Attachment #2: fno-pie.patch --]
[-- Type: text/x-patch, Size: 1273 bytes --]
From: Andrei Borzenkov <arvidjaar@gmail.com>
Subject: [PATCH] configure: set -fno-pie together with -fno-PIE
OpenBSD 5.9 apparently defaults to -fpie. We use -fno-PIE when appropriate
already, but that is not enough - it does not turn off -fpie.
Actually check for -fPIE is not precise enough. __PIE__ is set for both
-fpie and -fPIE but with different values. As far as I can tell, both
options were introduced at the same time, so both should always be supported.
This fixes compilation on OpenBSD 5.9 which otherwise created insanely big
lzma_decompress.img.
Reported, suggested and tested by: Jiri B <jirib@devio.us>
---
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index a85b134..57e1713 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1185,9 +1185,9 @@ CFLAGS="$TARGET_CFLAGS"
# Position independent executable.
grub_CHECK_PIE
[# Need that, because some distributions ship compilers that include
-# `-fPIE' in the default specs.
+# `-fPIE' or '-fpie' in the default specs.
if [ x"$pie_possible" = xyes ]; then
- TARGET_CFLAGS="$TARGET_CFLAGS -fno-PIE"
+ TARGET_CFLAGS="$TARGET_CFLAGS -fno-PIE -fno-pie"
fi]
CFLAGS="$TARGET_CFLAGS"
--
tg: (76eac44..) u/fno-pie (depends on: master)
next prev parent reply other threads:[~2016-03-18 16:53 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20160312165742.GR17281@wolfman.devio.us>
2016-03-12 18:29 ` [openbsd] 2.02-beta3: build fails - getroot.c:(.text+0x2b): undefined reference to `getrawpartition' Andrei Borzenkov
2016-03-12 19:54 ` Jiri B
2016-03-13 5:41 ` Andrei Borzenkov
2016-03-14 18:19 ` Jiri B
2016-03-14 18:46 ` Andrei Borzenkov
2016-03-17 10:12 ` Jiri B
2016-03-17 15:54 ` Andrei Borzenkov
2016-03-17 16:04 ` Vladimir 'phcoder' Serbinenko
2016-03-17 16:07 ` Andrei Borzenkov
2016-03-17 20:56 ` Jiri B
2016-03-18 3:26 ` Andrei Borzenkov
2016-03-18 13:01 ` Jiri B
2016-03-18 16:53 ` Andrei Borzenkov [this message]
2016-03-18 19:48 ` Vladimir 'phcoder' Serbinenko
2016-03-22 10:31 ` Jiri B
2016-03-22 17:48 ` Andrei Borzenkov
2016-03-24 3:55 ` Andrei Borzenkov
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=56EC3279.2020909@gmail.com \
--to=arvidjaar@gmail.com \
--cc=bug-grub@gnu.org \
--cc=grub-devel@gnu.org \
--cc=jirib@devio.us \
--cc=phcoder@gmail.com \
/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;
as well as URLs for NNTP newsgroup(s).