fix the build of mklibs-native on Ubuntu 9.04
cover fix the build of mklibs-native on Ubuntu 9.04
From: Dexuan Cui <[email protected]>
libc6-dev in Ubuntu 9.04 is so old that the elf.h doesn't define STT_GNU_IFUNC, so we have to define it ourselves.
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: dcui/master
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dcui/master
Thanks,
Dexuan Cui <[email protected]>
---
Dexuan Cui (1):
mklibs-native: fix the build on Ubuntu 9.04 by defining STT_GNU_IFUNC
.../mklibs/files/fix_STT_GNU_IFUNC.patch | 23 ++++++++++++++++++++ .../mklibs/mklibs-native_0.1.31.bb | 3 +- 2 files changed, 25 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-devtools/mklibs/files/fix_STT_GNU_IFUNC.patch
Signature · 1 line
1.7.2
PATCH 1/1 mklibs-native: fix the build on Ubuntu 9.04 by defining STT_GNU_IFUNC
From: Dexuan Cui <[email protected]>
mklibs-native needs elf.h (that is supplied by libc6-dev).
since STAGING_INCDIR_NATIVE doesn't contain elf.h (we don't have eglibc-native), so the host's /usr/include/elf.h is used.
Unluckily, the libc6-dev in Ubuntu 9.04 is so old that the elf.h doesn't define STT_GNU_IFUNC, so we have to define it ourselves.
Fixes [BUGID #726]
--- .../mklibs/files/fix_STT_GNU_IFUNC.patch | 23 ++++++++++++++++++++ .../mklibs/mklibs-native_0.1.31.bb | 3 +- 2 files changed, 25 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-devtools/mklibs/files/fix_STT_GNU_IFUNC.patch
meta/recipes-devtools/mklibs/files/fix_STT_GNU_IFUNC.patch new file +23 -0
@@ -0,0 +1,23 @@ +The libc6-dev in Ubuntu 9.04 is so old that the elf.h doesn't +define STT_GNU_IFUNC, so we have to define it ourselves. +-- Dexuan Cui ([email protected]) Feb 16, 2011. + +diff --git a/src/mklibs-readelf/main.cpp b/src/mklibs-readelf/main.cpp +index 2444c39..56d93f8 100644 +--- a/src/mklibs-readelf/main.cpp ++++ b/src/mklibs-readelf/main.cpp +@@ -6,6 +6,14 @@ + #include <vector> + + #include <elf.h> ++/* ++ * The /usr/include/elf.h in some distributions(like Ubuntu 9.04) doesn't ++ * define the macro. We need to define it here. ++ */ ++#ifndef STT_GNU_IFUNC ++#define STT_GNU_IFUNC 10 /* Symbol is indirect code object */ ++#endif ++ + #include <getopt.h> + + #include "elf.hpp"
meta/recipes-devtools/mklibs/mklibs-native_0.1.31.bb +2 -1
@@ -5,10 +5,11 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://debian/copyright;md5=98d31037b13d896e33890738ef01af64" DEPENDS = "python-native" -PR = "r0" +PR = "r1" SRC_URI = "http://ftp.de.debian.org/debian/pool/main/m/mklibs/${BPN}_${PV}.tar.gz \ file://ac_init_fix.patch\ + file://fix_STT_GNU_IFUNC.patch\ " SRC_URI[md5sum] = "f4df0307ccbdf60070e42277513f27ed"
Signature · 1 line
1.7.2
Quoted 8 lines · Dexuan Cui
From: Dexuan Cui<[email protected]>
libc6-dev in Ubuntu 9.04 is so old that the
elf.hdoesn't defineSTT_GNU_IFUNC, so we have to define it ourselves.Pull URL:
git://git.pokylinux.org/poky-contrib.git
Branch: dcui/master
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dcui/master
Is this also an issue on 8.04? 9.04 isn't supported anymore (9.10, 10.04, 10.10 are the top 3) but 8.04 is still under LTS in various configurations.
Signature · 2 lines
Tom Rini Mentor Graphics Corporation
Quoted 6 lines · Tom Rini
Quoted 5 lines · Dexuan Cui
From: Dexuan Cui<[email protected]>
libc6-dev in Ubuntu 9.04 is so old that the
elf.hdoesn't defineSTT_GNU_IFUNC, so we have to define it ourselves.
Quoted 8 lines
Quoted 3 lines
Pull URL:
git://git.pokylinux.org/poky-contrib.git
Branch: dcui/master
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dcui/masterIs this also an issue on 8.04? 9.04 isn't supported anymore (9.10, 10.04, 10.10 are the top 3) but 8.04 is still under LTS in various configurations.
9.04 may not be supported by Ubuntu anymore, but I've got lots of commercial
customers still using 9.04.. :( (I suspect it is also a problem w/ 8.04)
Quoted 12 lines · Mark Hatle
Quoted 11 lines · Tom Rini
Quoted 9 lines · Dexuan Cui
From: Dexuan Cui<[email protected]>
libc6-dev in Ubuntu 9.04 is so old that the
elf.hdoesn't defineSTT_GNU_IFUNC, so we have to define it ourselves.Pull URL:
git://git.pokylinux.org/poky-contrib.git
Branch: dcui/master
Browse:
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dcui/master
Quoted 7 lines
Quoted 4 lines
Is this also an issue on 8.04? 9.04 isn't supported anymore (9.10, 10.04, 10.10 are the top 3) but 8.04 is still under LTS in various configurations.
9.04 may not be supported by Ubuntu anymore, but I've got lots of commercial customers still using 9.04.. :(
Me too...
I'll try to update to 11.04 in three months when it's released. :-)
Quoted 1 line
(I suspect it is also a problem w/ 8.04)
I also suspect that though I can't find a 8.04 host to try it.
Thanks,
-- Dexuan