All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2, 1/1] package/kvm-unit-tests: fix build without ssp on x86_64
Date: Sat, 1 Jun 2019 15:34:13 +0200	[thread overview]
Message-ID: <20190601133413.GG3407@scaer> (raw)
In-Reply-To: <d0c26970-8d47-c56f-3491-f636348b674d@mind.be>

Arnout, All,

On 2019-05-26 20:20 +0200, Arnout Vandecappelle spake thusly:
> On 26/05/2019 00:22, Fabrice Fontaine wrote:
> > Makefile tries to detect stack-protector which will result in build
> > failure on x86_64 if ssp is not available on host compiler so disable
> > stack protector through EXTRA_CFLAGS
> 
>  I would like to actually understand the failure though... The error is:
> 
> /usr/bin/ld: x86/realmode.o: in function `print_serial_u32':
> .../x86/realmode.c:104: undefined reference to `__stack_chk_fail'
> 
>  However, realmode.c is built with
> 
> gcc  -mno-red-zone -m32 -O1 -g -MMD -MF x86/.realmode.d  -Wall -Wwrite-strings
> -Wclobbered -Wempty-body -Wuninitialized -Wignored-qualifiers
> -Wunused-but-set-parameter  -fno-omit-frame-pointer    -Wno-frame-address
> -fno-pic  -no-pie -Wmissing-parameter-type -Wold-style-declaration
> -Woverride-init -std=gnu99 -ffreestanding -I
> /data/buildroot/buildroot-test/instance-1/output/build/kvm-unit-tests-kvm-unit-tests-20171020/lib
> -I
> /data/buildroot/buildroot-test/instance-1/output/build/kvm-unit-tests-kvm-unit-tests-20171020/lib/x86
> -I lib   -c -o x86/realmode.o x86/realmode.c
> 
>  So, stack-protector is *not* enabled... So what the hell is going on here?
> 
>  It seems to only happen on Xogium's Arch Linux server. Maybe there's something
> weird going on with that server?

That's because:

  - kvm-unit-tests, on x86_64 target, uses the host compiler to build:
    https://git.buildroot.org/buildroot/tree/package/kvm-unit-tests/kvm-unit-tests.mk#n34

  - Xogium's autobuilder is running Arch Linux, which enables SSP by
    default, yes.

Regards,
Yann E. MORIN.

>  Regards,
>  Arnout
> 
> > 
> > Fixes:
> >  - http://autobuild.buildroot.org/results/e6f767755ffdb5ecc014eb5ad7519814f075a60e
> > 
> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > ---
> > Changes v1 -> v2 (after review of Peter Korsgaard):
> >  - Always disable stack-protector on x86_64 as we're using host compiler
> > 
> >  package/kvm-unit-tests/kvm-unit-tests.mk | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/package/kvm-unit-tests/kvm-unit-tests.mk b/package/kvm-unit-tests/kvm-unit-tests.mk
> > index 92d67fb34b..72762d21f2 100644
> > --- a/package/kvm-unit-tests/kvm-unit-tests.mk
> > +++ b/package/kvm-unit-tests/kvm-unit-tests.mk
> > @@ -37,6 +37,8 @@ KVM_UNIT_TESTS_CONF_OPTS =\
> >  # x86-64 cannot do.
> >  ifneq ($(BR2_x86_64),y)
> >  KVM_UNIT_TESTS_CONF_OPTS += --cross-prefix="$(TARGET_CROSS)"
> > +# Don't force -fstack-protector as we don't know if host compiler supports ssp 
> > +KVM_UNIT_TESTS_MAKE_OPTS += EXTRA_CFLAGS=-fno-stack-protector
> >  endif
> >  
> >  define KVM_UNIT_TESTS_CONFIGURE_CMDS
> > @@ -44,11 +46,12 @@ define KVM_UNIT_TESTS_CONFIGURE_CMDS
> >  endef
> >  
> >  define KVM_UNIT_TESTS_BUILD_CMDS
> > -	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) standalone
> > +	$(TARGET_MAKE_ENV) $(MAKE) $(KVM_UNIT_TESTS_MAKE_OPTS) -C $(@D) \
> > +		standalone
> >  endef
> >  
> >  define KVM_UNIT_TESTS_INSTALL_TARGET_CMDS
> > -	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
> > +	$(TARGET_MAKE_ENV) $(MAKE) $(KVM_UNIT_TESTS_MAKE_OPTS) -C $(@D) \
> >  		DESTDIR=$(TARGET_DIR)/usr/share/kvm-unit-tests/ \
> >  		install
> >  endef
> > 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2019-06-01 13:34 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-25 22:22 [Buildroot] [PATCH v2, 1/1] package/kvm-unit-tests: fix build without ssp on x86_64 Fabrice Fontaine
2019-05-26 18:20 ` Arnout Vandecappelle
2019-06-01 13:34   ` Yann E. MORIN [this message]
2019-06-04 20:13     ` Arnout Vandecappelle
2019-10-26  8:33 ` Arnout Vandecappelle
2019-10-31  8:18   ` Peter Korsgaard

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=20190601133413.GG3407@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.