All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Palethorpe <rpalethorpe@suse.com>
To: ltp@lists.linux.it
Subject: [LTP] [RFC] [PATCH v2] lib32: Add support for linking 32bit programs on 64bit
Date: Fri, 7 Apr 2017 13:32:42 +0200	[thread overview]
Message-ID: <20170407133242.6dd04be2@linux-v3j5> (raw)
In-Reply-To: <20170407091945.GA536@rei.lan>

Hi,

On Fri, 7 Apr 2017 11:19:45 +0200
"Cyril Hrubis" <chrubis@suse.cz> wrote:

> Hi!
> > > +ifeq ($(filter -m32,$(CFLAGS)),)
> > > +$(MAKE_TARGETS): LDFLAGS += -L$(top_builddir)/lib$(subst -m,,$(filter -m32,$(CFLAGS)))
> > > +else
> > > +LDFLAGS			 += -L$(top_builddir)/lib
> > > +endif  
> > 
> > I think this breaks the build if you do 'make CFLAGS+=-m32' or './configure
> > CFLAGS=-m32' to build everything in compatability mode. Am I doing it wrong or
> > is this an issue?  
> 
> If -m32 is in CFLAGS the $(filter -m32,$(CFLAGS)) is nonempty and we
> will add -L$(top_builddir)/lib regardless. We will build the lib32 as
> well but never use it.
> 
> And you have to pass LDLAGS=-m32 to the configure script as well, since
> the implicit rule to build an executable from list of object files is:
> 
> $(CC) $(LDFLAGS) n.o $(LOADLIBES) $(LDLIBS)
> 
> Hence if you pass -m32 only to CFLAGS the compiler will fail to link the
> ltp-pan binary.
> 
> Passing -m32 in CFLAGS only works for testcases though, since they are
> compiled and linked in one try and hence use both LDFLAGS and CFLAGS.
> 

OK, makes sense.

Build still fails however, because of missing 32-bit libraries, but that is
just because the headers are present for the 64-bit lib and a lot of tests
will try to build so long as the headers are there. I guess it would be better
to also check that we can link as well, which some tests appear to do. I think
it is quite a reasonable workaround to just install the libs though assuming
that they will all usually be available if any 32-bit libs are.

Thank you,
Richard.

  reply	other threads:[~2017-04-07 11:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-06 12:46 [LTP] [RFC] [PATCH v2] lib32: Add support for linking 32bit programs on 64bit Cyril Hrubis
2017-04-07  8:58 ` Richard Palethorpe
2017-04-07  9:19   ` Cyril Hrubis
2017-04-07 11:32     ` Richard Palethorpe [this message]
2017-04-07 11:44       ` Cyril Hrubis
2017-05-16  8:38 ` Richard Palethorpe
2017-05-16 16:00 ` Jiri Jaburek

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=20170407133242.6dd04be2@linux-v3j5 \
    --to=rpalethorpe@suse.com \
    --cc=ltp@lists.linux.it \
    /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.