Commit Graph

6 Commits

Author SHA1 Message Date
Hongxu Jia b14e2ae9bc gcc: use relative path for configure script
The absolute path (/path/to/configure) caused __FILE__ to be
an absolute path.

If 'assert' invoked, it uses __FILE__, and build path would be in elf files.
In assert.h
...
.# define assert(expr)                                                   \
  ((expr)                                                               \
   ? __ASSERT_VOID_CAST (0)                                             \
   : __assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION))
...

Which triggered buildpaths QA issue:
...
| libgcc-5.3.0: File work/core2-64-poky-linux/libgcc/5.3.0-r0/packages-split/
libgcc-dev/usr/lib64/x86_64-poky-linux/5.3.0/libgcc.a in package contained
reference to tmpdir [buildpaths]
...

Use relative path to run configure can fix the problem.

[YOCTO #7058]

(From OE-Core rev: b806e4c004a7e10461fe7428fc130a5aa2528039)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28 11:32:58 +00:00
Richard Purdie 678e8798eb gcc: poison default sysroot path
Various pieces of the code assume that the --sysroot option gets passed
into the compiler tools. By having a "sane" default, we don't always
spot when this occurs and this can later show up as breakage in sstate,
or in usage of the external toolchain.

We've long since talked about poisoning the default such that it will
break unless the correct option is specified. This patch does just that.

If this patch causes something to fail to build, it most likely means
the various compiler flags and commands are not correctly being passed
through to the underlying piece of software and that there is a real
problem that needs fixing, its not the fault of this patch.

(From OE-Core rev: 04b725511a505c582a3abdf63d096967f0320779)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:01:21 +00:00
Peter A. Bigot 6d78f392f5 gcc: recipe whitespace changes
Consistent use of whitespace in multi-line assignment, with special
focus on OECONF modifications.  Quotes on separate lines, four-space
indentation, one value per line.

(From OE-Core rev: d971db8b2259e4c35b871cccf130fba193849560)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15 18:21:49 +01:00
Richard Purdie e078edbf99 binutils/gcc/gdb: Add TARGET_ARCH to PN for all cross recipes
This allows them to co-exist together in the native sysroot, with one
set of cross tools per target architecture.

(From OE-Core rev: a2c5509520d5c3e082f55844e6545d0309565f8f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-30 16:39:06 +01:00
Richard Purdie 5c9025e07d gcc: Convert to use hardlinkdir
(From OE-Core rev: 204bc1f39030a3c0dd3eadadabb013aca8bb9cc6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25 17:19:18 +01:00
Richard Purdie 5bde5d9b39 gcc: Allow fortran to build successfully in 4.8
gcc 4.8 fortran presents some challenges:

* libquadmath headers need to be in the libexec include dir. It turns out
  to be easiest just to manually do this.
* libgfortran configure needs libquadmath to be compiled. This means
  a separate recipe is needed (the alternative is gross hacks)
* the libtool uses to link libgfortran doesn't have our improved rpath
  handling and puts bogus RPATHS into the libraries. We can avoid this
  by tweaking libtool with sed.

This patch resolves those issues. Any user of fortran does need to DEPEND
on libgfortran in order to trigger it to build but this shouldn't be a major
issue.

(From OE-Core rev: a5e7ee5770b9e0cf719c573efffd874440f74289)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-05 14:24:43 +00:00