Commit Graph

15 Commits

Author SHA1 Message Date
Petr Štetiar
4a8961f1df
tools: macOS: types.h: fix missing unsigned types
For some reason unsigned types were not added in commit 0a06fcf608
("build: fix kernel 5.4 on macos"), which led to bunch of hacks, like
commit 3cc57ba462 ("uboot-sunxi: add missing type __u64") or
commit 997ff740dc ("uboot-mediatek: fix build on Mac OS X").

So lets add the missing unsigned types to workaround it in a bit more
maintainable way.

Fixes: #13833
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2023-11-02 20:20:53 +01:00
Felix Fietkau
169757c7fd tools/include: add more endian macros
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-10-29 15:56:41 +01:00
Mathew McBride
c98e09f01b tools: update elf.h
OpenWrt contains a 2012 copy of glibc's elf.h, which predates the
introduction of some newer architectures like Arm64 and RISC-V.

Linux 5.13 introduced the "gen-hyprel" tool into the kernel compile
(when virtualization/KVM is enabled) which requires EM_AARCH64 to be
defined.

arch/arm64/kvm/hyp/nvhe/gen-hyprel.c: In function 'init_elf':
arch/arm64/kvm/hyp/nvhe/gen-hyprel.c:289:43: error: 'EM_AARCH64'
  undeclared (first use in this function); did you mean 'EM_IA_64'?
  289 |  assert_eq(elf16toh(elf.ehdr->e_machine), EM_AARCH64, "%u");
      |                                           ^~~~~~~~~~

Update the copy of elf.h from the latest glibc to fix this.

Compile-tested: ath79, armvirt, mpc85xx, x86
Run-tested: armvirt

Signed-off-by: Mathew McBride <matt@traverse.com.au>
2023-03-19 18:20:18 +01:00
Kevin Darbyshire-Bryant
0a06fcf608 build: fix kernel 5.4 on macos
As part of the kernel build process there are utilities built to run on
the host system that expect linux kernel headers to be available.
Unfortunately macos/darwin doesn't have these headers.

vdso2c requires types.h so provide a minimal stub to satisfy it.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2020-03-14 13:20:06 +00:00
Kevin Darbyshire-Bryant
99ddff0c7f tools: Update endian definitions for Mac OSX
- it appears (at least from OS X verison 10.10, Yosemite) that the
    big and little endian defintions have changed.

    the older

       #include <sys/_endian.h>
       #include <architecture/byte_order.h>

    reference yielded the following warning:

         #define __bswap_16(x)      NXSwapShort(x)
                                    ^
       /usr/include/architecture/byte_order.h:45:1: note: 'NXSwapShort' has been explicitly marked deprecated here

    For the new OS X editions, it seems that we need to refer to:

      #include <netinet/in.h>
      #include <libkern/OSByteOrder.h>

    and respectively use 'OSSwapInt16', 'OSSwapInt32', & 'OSSwapInt64', in
    place of 'NXSwapShort', 'NXSwapLong' & 'NXSwapLongLong'.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-12-19 15:08:30 +00:00
Rosen Penev
74f9c9c159 tools: host/include/getline.h: Remove
Seems to be useful only for old and unsupported operating systems. Removed and adjusted the mtd-utils Makefile.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2017-04-26 10:29:39 +02:00
Imre Kaloz
c1a8ff39fc tools: host/include/getline.h: fix FreeBSD 8.0+ support
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 45628
2015-05-08 12:09:26 +00:00
Felix Fietkau
0c10f3911d tools: include endian.h from byteswap.h to ensure that bswap_* is available
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37183
2013-07-06 14:49:08 +00:00
Felix Fietkau
1f77bfff96 build: BSD compile fixes
following patch allows to build images for Qemu ARM on
OpenBSD 5.2 amd64 and FreeBSD 9.1 amd64.

Mostly small pieces of code changes to get things right on the
specific platform.

Updated the README to describe better, which tools on the host
are required. Added some kind of prepare scripts to install needed
tools on BSD via packages.

Signed-off-by: Waldemar Brodkorb <mail@waldemar-brodkorb.de>

SVN-Revision: 35900
2013-03-07 17:32:29 +00:00
Felix Fietkau
b1f318de53 kernel: fix portability issues on the x86 specific relocs host tool, fixes build on mac os x
SVN-Revision: 32783
2012-07-20 12:28:50 +00:00
Lars-Peter Clausen
bf64b1ccb6 host/include/getline.h - Mac OS X 10.7 (Lion) fix
Apple has finally updated their version of Libc, and it now includes getline(). \o/

The following patch fixes OpenWRT getline.h to not redefine it for 10.7. The one
caveat is, the includes (at least stdio.h) are needed before the #ifdef so that
__DARWIN_C_LEVEL could be properly defined (it is not a compiler built-in define
like __linux__ or __APPLE__).

This one fixes the host/include/getline.h. The next patch will mend the mkimage
package.

Signed-off-by: Joe Roback <openwrt-devel at roback.cc>

SVN-Revision: 27916
2011-08-05 16:52:46 +00:00
Felix Fietkau
fc0863785a add a portable version of sys/sysmacros.h and and let the kernel use the host include dir, fixes x86 builds on non-gnu systems
SVN-Revision: 27346
2011-07-02 06:49:56 +00:00
Florian Fainelli
b8e09787fa more cygwin related build fixes
SVN-Revision: 15227
2009-04-14 14:54:34 +00:00
Felix Fietkau
b343519d29 fix sstrip linux compile
SVN-Revision: 5104
2006-10-14 23:12:29 +00:00
Felix Fietkau
60c1f0f64d finally move buildroot-ng to trunk 2016-03-20 17:29:15 +01:00