Re: Port bulk with
On 05/10/17(Thu) 16:02, Christian Weisgerber wrote: > Martin Pieuchot: > > > > On amd64, two ports failed to build: devel/libdwarf and devel/valgrind. > > > > Thanks, here's an updated diff that should fix those. > > Nope, those two still fail. Full logs attached. I added yesterday the missing defines to . While doing so I figured that devel/libelf will pick if it is present. So I'd like to bump it when I introduce this header. This will make it easier to deal with possible fallout. Full diff below, ok? Index: src/include/Makefile === RCS file: /cvs/src/include/Makefile,v retrieving revision 1.220 diff -u -p -r1.220 Makefile --- src/include/Makefile6 Oct 2017 19:58:37 - 1.220 +++ src/include/Makefile9 Oct 2017 07:54:16 - @@ -10,9 +10,10 @@ .include FILES= a.out.h ar.h asr.h assert.h bitstring.h blf.h bsd_auth.h \ - complex.h cpio.h ctype.h curses.h db.h dirent.h disktab.h \ - dlfcn.h elf_abi.h err.h errno.h fenv.h float.h fnmatch.h fstab.h fts.h \ - ftw.h getopt.h glob.h grp.h icdb.h ieeefp.h ifaddrs.h inttypes.h \ + complex.h cpio.h ctype.h curses.h db.h dirent.h disktab.h dlfcn.h \ + elf.h elf_abi.h err.h errno.h \ + fenv.h float.h fnmatch.h fstab.h fts.h ftw.h \ + getopt.h glob.h grp.h icdb.h ieeefp.h ifaddrs.h inttypes.h \ iso646.h kvm.h langinfo.h libgen.h limits.h link.h link_elf.h \ locale.h login_cap.h math.h md5.h memory.h ndbm.h netdb.h netgroup.h \ nlist.h nl_types.h paths.h poll.h pwd.h ranlib.h readpassphrase.h \ Index: src/include/elf.h === RCS file: src/include/elf.h diff -N src/include/elf.h --- /dev/null 1 Jan 1970 00:00:00 - +++ src/include/elf.h 9 Aug 2017 15:49:08 - @@ -0,0 +1,12 @@ +/* $OpenBSD$ */ + +/* + * Public domain. + */ + +#ifndef _ELF_H_ +#define _ELF_H_ + +#include + +#endif /* _ELF_H_ */ Index: ports/devel/libelf/Makefile === RCS file: /cvs/ports/devel/libelf/Makefile,v retrieving revision 1.12 diff -u -p -r1.12 Makefile --- ports/devel/libelf/Makefile 15 Aug 2015 08:03:20 - 1.12 +++ ports/devel/libelf/Makefile 11 Oct 2017 12:07:10 - @@ -6,7 +6,7 @@ PORTROACH_COMMENT=0.8.14 is actually 0.8 COMMENT= read, modify, create ELF files on any arch DISTNAME= libelf-0.8.13 -REVISION= 3 +REVISION= 4 MAINTAINER=Jasper Lievisse Adriaanse SHARED_LIBS= elf 1.1
Re: Port bulk with
Martin Pieuchot: > > On amd64, two ports failed to build: devel/libdwarf and devel/valgrind. > > Thanks, here's an updated diff that should fix those. Nope, those two still fail. Full logs attached. ===> libdwarf c++ -I/usr/local/include/libelf -I/usr/local/include -I/usr/local/include/libelf -I/usr/local/include -I. -I. -I../libdwarf -I./../libdwarf -c dwarfgen.cc dwarfgen.cc:234:25: error: use of undeclared identifier 'SHF_STRINGS' strshdr->sh_flags = SHF_STRINGS; ^ 1 error generated. ===> valgrind m_coredump/coredump-elf.c:764:32: error: use of undeclared identifier 'NT_PRPSINFO' add_note(¬elist, "CORE", NT_PRPSINFO, &prpsinfo, sizeof(prpsinfo)); ^ 1 error generated. -- Christian "naddy" Weisgerber na...@mips.inka.de libdwarf.log.xz Description: application/xz valgrind.log.xz Description: application/xz
Re: Port bulk with
On 12/09/17(Tue) 16:23, Christian Weisgerber wrote: > Martin Pieuchot: > > > > So here's a first step, introducing /usr/include/elf.h. Could some of > > > you run a bulk with it and report the possible breakages? > > > > Now that the offending function declaration has been remove from libc > > libelf builds as before. > > > > Could you guys tell us if there's any other fallout from this diff? > > On amd64, two ports failed to build: devel/libdwarf and devel/valgrind. Thanks, here's an updated diff that should fix those. Index: sys/sys/exec_elf.h === RCS file: /cvs/src/sys/sys/exec_elf.h,v retrieving revision 1.75 diff -u -p -r1.75 exec_elf.h --- sys/sys/exec_elf.h 5 Sep 2017 06:35:19 - 1.75 +++ sys/sys/exec_elf.h 3 Oct 2017 13:54:57 - @@ -187,12 +187,14 @@ typedef struct { #define EM_PARISC 15 /* HPPA */ #define EM_SPARC32PLUS 18 /* Enhanced instruction set SPARC */ #define EM_PPC 20 /* PowerPC */ +#define EM_PPC64 21 /* PowerPC 64 */ #define EM_ARM 40 /* Advanced RISC Machines ARM */ #define EM_ALPHA 41 /* DEC ALPHA */ -#defineEM_SH 42 /* Hitachi/Renesas Super-H */ +#define EM_SH 42 /* Hitachi/Renesas Super-H */ #define EM_SPARCV9 43 /* SPARC version 9 */ #define EM_IA_64 50 /* Intel IA-64 Processor */ #define EM_AMD64 62 /* AMD64 architecture */ +#define EM_X86_64 EM_AMD64 #define EM_VAX 75 /* DEC VAX */ #define EM_AARCH64 183 /* ARM 64-bit architecture (AArch64) */ Index: include/Makefile === RCS file: /cvs/src/include/Makefile,v retrieving revision 1.219 diff -u -p -r1.219 Makefile --- include/Makefile17 Apr 2017 15:53:21 - 1.219 +++ include/Makefile9 Aug 2017 15:46:46 - @@ -10,9 +10,10 @@ .include FILES= a.out.h ar.h asr.h assert.h bitstring.h blf.h bsd_auth.h \ - complex.h cpio.h ctype.h curses.h db.h dirent.h disktab.h \ - dlfcn.h elf_abi.h err.h errno.h fenv.h float.h fnmatch.h fstab.h fts.h \ - ftw.h getopt.h glob.h grp.h icdb.h ieeefp.h ifaddrs.h inttypes.h \ + complex.h cpio.h ctype.h curses.h db.h dirent.h disktab.h dlfcn.h \ + elf.h elf_abi.h err.h errno.h \ + fenv.h float.h fnmatch.h fstab.h fts.h ftw.h \ + getopt.h glob.h grp.h icdb.h ieeefp.h ifaddrs.h inttypes.h \ iso646.h kvm.h langinfo.h libgen.h limits.h link.h link_elf.h \ locale.h login_cap.h math.h md5.h memory.h ndbm.h netdb.h netgroup.h \ nlist.h nl_types.h paths.h poll.h pwd.h ranlib.h readpassphrase.h \ Index: include/elf.h === RCS file: include/elf.h diff -N include/elf.h --- /dev/null 1 Jan 1970 00:00:00 - +++ include/elf.h 9 Aug 2017 15:49:08 - @@ -0,0 +1,12 @@ +/* $OpenBSD$ */ + +/* + * Public domain. + */ + +#ifndef _ELF_H_ +#define _ELF_H_ + +#include + +#endif /* _ELF_H_ */
Re: Port bulk with
Karel Gardas: > I think it should be just enough if you remove this problematic hunk: Building a release fails. I should not be the one discovering this when you are asking for a ports build. cc -o rdsetroot /usr/src/distrib/amd64/ramdisk_cd/../../common/elfrdsetroot.c /usr/src/distrib/amd64/ramdisk_cd/../../common/elf32.c /usr/src/distrib/amd64/ramdisk_cd/../../common/elf64.c In file included from /usr/src/distrib/amd64/ramdisk_cd/../../common/elfrdsetroot.c:48: /usr/src/distrib/amd64/ramdisk_cd/../../common/elfrdsetroot.h:2:35: warning: declaration of 'struct elfhdr' will not be visible outside of this function [-Wvisibility] void (*locate_image)(int, struct elfhdr *, char *, long *, long *, ^ /usr/src/distrib/amd64/ramdisk_cd/../../common/elfrdsetroot.c:124:28: error: invalid application of 'sizeof' to an incomplete type 'struct elfhdr' n = read(fd, &head, sizeof(head)); ^~ -- Christian "naddy" Weisgerber na...@mips.inka.de
Re: Port bulk with
On Sat, Sep 16, 2017 at 9:23 PM, Christian Weisgerber wrote: > Karel Gardas: > >> I've update my elf.h transition patch and posted on tech@ here >> https://marc.info/?l=openbsd-tech&m=150551268819592&w=2 -- I'm running > > This patch doesn't apply. > There is no file src/lib/libc/gen/elf_hash.c in -CURRENT. Thanks for the heads up. Looks like cvs bug or my misunderstanding how diff is working. The history of this is that I editted elf_hash.c which was later removed by cvs update. Still when I invoke cvs -q diff -u -- it still diffs also removed elf_hash.c. I've checked this file is neither in my tree... I think it should be just enough if you remove this problematic hunk: Index: lib/libc/gen/elf_hash.c === RCS file: /cvs/src/lib/libc/gen/Attic/elf_hash.c,v retrieving revision 1.9 diff -u -p -u -r1.9 elf_hash.c --- lib/libc/gen/elf_hash.c 16 Jan 2015 16:48:51 - 1.9 +++ lib/libc/gen/elf_hash.c 16 Sep 2017 19:32:12 - @@ -37,7 +37,7 @@ #include #include -#include +#include /* * Standard ELF ABI hash function.
Re: Port bulk with
Karel Gardas: > I've update my elf.h transition patch and posted on tech@ here > https://marc.info/?l=openbsd-tech&m=150551268819592&w=2 -- I'm running This patch doesn't apply. There is no file src/lib/libc/gen/elf_hash.c in -CURRENT. -- Christian "naddy" Weisgerber na...@mips.inka.de
Re: Port bulk with
Hi, I've update my elf.h transition patch and posted on tech@ here https://marc.info/?l=openbsd-tech&m=150551268819592&w=2 -- I'm running ports build on my testing machine, but it's not that fast and I'm neither experience ports builder so I would welcome if anybody can give it a try on somewhat more reference ports build setup. Please note that after patch/build you would need to cp /usr/include/elf.h /usr/include/elf_abi.h in order to make those ports assuming elf_abi.h presence on OpenBSD to build correctly (E.g. ghc). The point here is to check if content of included /usr/include/sys/exec_elf.h is correct enough for ports to build. This patch version already solves devel/libdwarf and devel/valgrind issues seen by Christian. My current dpb progress looks: I= B=642 Q=3350 T=1942 F=0 !=100 E=mail/mozilla-thunderbird,,-main www/seamonkey,,-main games/ioquake3:ioquake3-2017.08.03-59b1262b.tar.gz fonts/fira-fonts:fira-fonts-20170227-a6069274.tar.gz games/doomdata/doom1 games/doomdata/ doom2 where thunderbird and seamonkey fails strangely on python related issue which does not seems to be related to elf.h change. See below. This is also the reason I do not trust that much my ports build abilities and would welcome if someone more experience with ports building would give the patch a try. Thanks! Karel >>> Running configure in www/seamonkey,,-main at 1505546419 ===> www/seamonkey,,-main ===> Configuring for seamonkey-2.48 Creating Python environment New python executable in /usr/local/ports/pobj/seamonkey-2.48/build-amd64/_virtualenv/bin/python2.7 Also creating executable in /usr/local/ports/pobj/seamonkey-2.48/build-amd64/_virtualenv/bin/python Installing setuptools, pip, wheel...done. platform openbsd6 is not supported Error processing command. Ignoring because optional. (optional:setup.py:python/psutil:build_ext:--inplace) Reexecuting in the virtualenv Traceback (most recent call last): File "/usr/ports/pobj/seamonkey-2.48/seamonkey-2.48/configure.py", line 32, in sys.exit(main(sys.argv)) File "/usr/ports/pobj/seamonkey-2.48/seamonkey-2.48/configure.py", line 24, in main sandbox.run(os.path.join(os.path.dirname(__file__), 'moz.configure')) File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/mozilla/python/mozbuild/mozbuild/configure/__init__.py", line 231, in run self.include_file(path) File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/mozilla/python/mozbuild/mozbuild/configure/__init__.py", line 222, in include_file exec_(code, self) File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/mozilla/python/mozbuild/mozbuild/util.py", line 59, in exec_ exec(object, globals, locals) File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/moz.configure", line 7, in include('mozilla/moz.configure') File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/mozilla/python/mozbuild/mozbuild/configure/__init__.py", line 477, in include_impl self.include_file(what) File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/mozilla/python/mozbuild/mozbuild/configure/__init__.py", line 222, in include_file exec_(code, self) File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/mozilla/python/mozbuild/mozbuild/util.py", line 59, in exec_ exec(object, globals, locals) File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/mozilla/moz.configure", line 7, in include('build/moz.configure/init.configure') File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/mozilla/python/mozbuild/mozbuild/configure/__init__.py", line 477, in include_impl self.include_file(what) File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/mozilla/python/mozbuild/mozbuild/configure/__init__.py", line 222, in include_file exec_(code, self) File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/mozilla/python/mozbuild/mozbuild/util.py", line 59, in exec_ exec(object, globals, locals) File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/mozilla/build/moz.configure/init.configure", line 787, in include(include_project_configure) File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/mozilla/python/mozbuild/mozbuild/configure/__init__.py", line 477, in include_impl self.include_file(what) File "/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48/mozilla/python/mozbuild/mozbuild/configure/__init__.py", line 209, in include_file 'of `%s`' % (path, mozpath.dirname(self._paths[0]))) mozbuild.configure.ConfigureError: Cannot include `/usr/ports/pobj/seamonkey-2.48/seamonkey-2.48/suite/moz.configure` because it is not in a subdirectory of `/usr/local/ports/pobj/seamonkey-2.48/seamonkey-2.48` *** Error 1 in /usr/ports/www/seamonkey (/usr/ports/infrastructure/mk/bsd.port.mk:2694 '/usr/ports/pobj/seamonkey-2.48/build-amd64/.configure_done') *** Error 1 in /usr/ports/www/seamonkey (/usr/ports/infrastructure/mk/bsd.port.mk:2420 'configure') ===> Exiting www/seamonkey,,-main with an error *** Error
Re: Port bulk with
My elf.h patch solves devel/libdwarf compilation issue, but devel/valgrind still fails due to: m_coredump/coredump-elf.c:764:32: error: use of undeclared identifier 'NT_PRPSINFO' add_note(¬elist, "CORE", NT_PRPSINFO, &prpsinfo, sizeof(prpsinfo)); the problem is NT_PRPSINFO is not standardized in elf spec so the question is if I shall add this to sys/exec_elf.h or we can also define it inside the coregrind/m_coredump/ coredump-elf.c which already contains definition for NT_PRXFPREG which is from the same family of "common" elf defines for core files... What's the preference in such a case? On Tue, Sep 12, 2017 at 4:23 PM, Christian Weisgerber wrote: > Martin Pieuchot: > >> > So here's a first step, introducing /usr/include/elf.h. Could some of >> > you run a bulk with it and report the possible breakages? >> >> Now that the offending function declaration has been remove from libc >> libelf builds as before. >> >> Could you guys tell us if there's any other fallout from this diff? > > On amd64, two ports failed to build: devel/libdwarf and devel/valgrind. > > ===> devel/libdwarf > print_reloc.c:150:10: error: use of undeclared identifier 'EM_PPC64' > case EM_PPC64: > ^ > > ===> devel/valgrind > m_coredump/coredump-elf.c:105:22: error: use of undeclared identifier > 'EM_X86_64' >ehdr->e_machine = VG_ELF_MACHINE; > ^ > ./pub_core_machine.h:51:31: note: expanded from macro 'VG_ELF_MACHINE' > # define VG_ELF_MACHINE EM_X86_64 > ^ > > -- > Christian "naddy" Weisgerber na...@mips.inka.de
Re: Port bulk with
Both those issues should be solved by my bigger elf.h patch. E.g. it defines both EM_PPC64 and EM_X86_64. I'll merge latest git and resubmit for review again. On Tue, Sep 12, 2017 at 4:23 PM, Christian Weisgerber wrote: > Martin Pieuchot: > >> > So here's a first step, introducing /usr/include/elf.h. Could some of >> > you run a bulk with it and report the possible breakages? >> >> Now that the offending function declaration has been remove from libc >> libelf builds as before. >> >> Could you guys tell us if there's any other fallout from this diff? > > On amd64, two ports failed to build: devel/libdwarf and devel/valgrind. > > ===> devel/libdwarf > print_reloc.c:150:10: error: use of undeclared identifier 'EM_PPC64' > case EM_PPC64: > ^ > > ===> devel/valgrind > m_coredump/coredump-elf.c:105:22: error: use of undeclared identifier > 'EM_X86_64' >ehdr->e_machine = VG_ELF_MACHINE; > ^ > ./pub_core_machine.h:51:31: note: expanded from macro 'VG_ELF_MACHINE' > # define VG_ELF_MACHINE EM_X86_64 > ^ > > -- > Christian "naddy" Weisgerber na...@mips.inka.de
Re: Port bulk with
Martin Pieuchot: > > So here's a first step, introducing /usr/include/elf.h. Could some of > > you run a bulk with it and report the possible breakages? > > Now that the offending function declaration has been remove from libc > libelf builds as before. > > Could you guys tell us if there's any other fallout from this diff? On amd64, two ports failed to build: devel/libdwarf and devel/valgrind. ===> devel/libdwarf print_reloc.c:150:10: error: use of undeclared identifier 'EM_PPC64' case EM_PPC64: ^ ===> devel/valgrind m_coredump/coredump-elf.c:105:22: error: use of undeclared identifier 'EM_X86_64' ehdr->e_machine = VG_ELF_MACHINE; ^ ./pub_core_machine.h:51:31: note: expanded from macro 'VG_ELF_MACHINE' # define VG_ELF_MACHINE EM_X86_64 ^ -- Christian "naddy" Weisgerber na...@mips.inka.de
Re: Port bulk with
On 09/08/17(Wed) 11:58, Martin Pieuchot wrote: > As discussed recently on tech@ with Karel, some ports would benefit > from having a header. This header is the Solaris version of > our and has been adopted by FreeBSD. > > I'd like to migrate our base system from to . This > would make our base tools dealing with ELF more portable. > > So here's a first step, introducing /usr/include/elf.h. Could some of > you run a bulk with it and report the possible breakages? Now that the offending function declaration has been remove from libc libelf builds as before. Could you guys tell us if there's any other fallout from this diff? Index: Makefile === RCS file: /cvs/src/include/Makefile,v retrieving revision 1.219 diff -u -p -r1.219 Makefile --- Makefile17 Apr 2017 15:53:21 - 1.219 +++ Makefile9 Aug 2017 15:46:46 - @@ -10,9 +10,10 @@ .include FILES= a.out.h ar.h asr.h assert.h bitstring.h blf.h bsd_auth.h \ - complex.h cpio.h ctype.h curses.h db.h dirent.h disktab.h \ - dlfcn.h elf_abi.h err.h errno.h fenv.h float.h fnmatch.h fstab.h fts.h \ - ftw.h getopt.h glob.h grp.h icdb.h ieeefp.h ifaddrs.h inttypes.h \ + complex.h cpio.h ctype.h curses.h db.h dirent.h disktab.h dlfcn.h \ + elf.h elf_abi.h err.h errno.h \ + fenv.h float.h fnmatch.h fstab.h fts.h ftw.h \ + getopt.h glob.h grp.h icdb.h ieeefp.h ifaddrs.h inttypes.h \ iso646.h kvm.h langinfo.h libgen.h limits.h link.h link_elf.h \ locale.h login_cap.h math.h md5.h memory.h ndbm.h netdb.h netgroup.h \ nlist.h nl_types.h paths.h poll.h pwd.h ranlib.h readpassphrase.h \ Index: elf.h === RCS file: elf.h diff -N elf.h --- /dev/null 1 Jan 1970 00:00:00 - +++ elf.h 9 Aug 2017 15:49:08 - @@ -0,0 +1,12 @@ +/* $OpenBSD$ */ + +/* + * Public domain. + */ + +#ifndef _ELF_H_ +#define _ELF_H_ + +#include + +#endif /* _ELF_H_ */
Re: Port bulk with
On Thu, Aug 10, 2017 at 9:45 PM, Karel Gardas wrote: > I updated my current to today snapshot and still with original full > version of elf.h patch libelf builds fine -- see below. By quick > comparison of configure outputs in Christian's and mine build it looks > like he gets: > > checking if cc can compile elf.h... yes > > while I get: > > checking if cc can compile elf.h... no > > which is probably the reason (or one of) behind the failure for you > and not failure for me... config.log is clear about that: configure:1231: checking if cc can compile elf.h configure:1248: cc -c -O2 -pipe conftest.c 1>&5 In file included from configure:1239: In file included from /usr/include/elf.h:31: /usr/include/sys/exec_elf.h:53:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'? typedef __uint32_t Elf32_Addr; /* Unsigned program address */ ^ note: '__uint128_t' declared here /usr/include/sys/exec_elf.h:54:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'? typedef __uint32_t Elf32_Off; /* Unsigned file offset */ ^ note: '__uint128_t' declared here /usr/include/sys/exec_elf.h:55:9: error: unknown type name '__uint16_t'; did you mean '__uint128_t'? typedef __uint16_t Elf32_Half; /* Unsigned medium integer */ ^ [...] probably the culprit here is my removal of include from sys/exec_elf.h which is presented in full patch version while missing from current OpenBSD.
Re: Port bulk with
I updated my current to today snapshot and still with original full version of elf.h patch libelf builds fine -- see below. By quick comparison of configure outputs in Christian's and mine build it looks like he gets: checking if cc can compile elf.h... yes while I get: checking if cc can compile elf.h... no which is probably the reason (or one of) behind the failure for you and not failure for me... $ doas make ===> libelf-0.8.13p3 depends on: metaauto-* -> metaauto-1.0p1 ===> libelf-0.8.13p3 depends on: autoconf-2.13 -> autoconf-2.13p4 ===> Checking files for libelf-0.8.13p3 `/usr/ports/distfiles/libelf-0.8.13.tar.gz' is up to date. >> (SHA256) libelf-0.8.13.tar.gz: OK ===> Extracting for libelf-0.8.13p3 ===> Patching for libelf-0.8.13p3 ===> Applying OpenBSD patch patch-aclocal_m4 Hmm... Looks like a unified diff to me... The text leading up to this was: -- |$OpenBSD: patch-aclocal_m4,v 1.4 2012/05/19 08:24:50 sthen Exp $ |--- aclocal.m4.origFri May 23 04:17:56 2008 |+++ aclocal.m4 Fri May 18 22:53:37 2012 -- Patching file aclocal.m4 using Plan A... Hunk #1 succeeded at 288. done ===> Compiler link: cc -> /usr/bin/cc ===> Compiler link: c++ -> /usr/bin/c++ Running autoconf-2.13 in /usr/ports/pobj/libelf-0.8.13/libelf-0.8.13 Running autoheader-2.13 in /usr/ports/pobj/libelf-0.8.13/libelf-0.8.13 ===> Configuring for libelf-0.8.13p3 Using /usr/ports/pobj/libelf-0.8.13/config.site (generated) loading site script /usr/ports/pobj/libelf-0.8.13/config.site creating cache ./config.cache checking whether make sets ${MAKE}... (cached) yes checking for gcc... cc checking whether the C compiler (cc -O2 -pipe ) works... yes checking whether the C compiler (cc -O2 -pipe ) is a cross-compiler... no checking whether we are using GNU C... (cached) yes checking whether cc accepts -g... (cached) yes checking how to run the C preprocessor... cc -E checking for a BSD compatible install... /usr/ports/pobj/libelf-0.8.13/bin/install -c checking for ranlib... ranlib checking whether ln -s works... yes checking for ANSI C header files... (cached) yes checking for unistd.h... (cached) yes checking for stdint.h... (cached) yes checking for fcntl.h... (cached) yes checking for elf.h... yes checking for sys/elf.h... no checking for link.h... yes checking for sys/link.h... no checking if cc can compile elf.h... no checking for ar.h... yes checking for libelf.h... no checking for nlist.h... (cached) yes checking for gelf.h... no checking whether to install , and ... no checking for working const... (cached) yes checking for off_t... (cached) yes checking for size_t... (cached) yes checking size of short... (cached) 2 checking size of int... 4 checking size of long... 8 checking size of long long... (cached) 8 checking size of __int64... 0 checking for 64-bit integer... long checking for 32-bit integer... int checking for 16-bit integer... short checking for unistd.h... (cached) yes checking for getpagesize... (cached) yes checking for working mmap... (cached) yes checking for ftruncate... (cached) yes checking for memcmp... (cached) yes checking for memcpy... (cached) yes checking for memmove... (cached) yes checking for memset... (cached) yes checking whether overlapping arrays are copied correctly... yes checking the coffee machine... empty - operator may not work as expected checking whether 64-bit ELF support is sufficient... yes checking whether to include 64-bit support... yes checking whether versioning support is sufficient... yes checking whether to include versioning support... yes checking whether NLS is requested... no checking for gettext in -lintl... no checking host system type... x86_64-unknown-openbsd6.1 checking whether to build a shared library... yes checking whether GNU naming conventions are requested... no checking for ld... /usr/bin/ld updating cache ./config.cache creating ./config.status creating Makefile creating lib/Makefile creating po/Makefile creating libelf.pc creating config.h creating lib/sys_elf.h ===> Building for libelf-0.8.13p3 making all in lib if test -n "-fPIC -DPIC"; then cc -c -DHAVE_CONFIG_H -I.. -I. -I. -O2 -pipe -fPIC -DPIC begin.c && mv -f begin.o begin.os; else true; fi begin.c:110:20: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] if (arf->e_off < 0 || arf->e_off > arf->e_size) { ~~ ^ ~ begin.c:142:14: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] if (tmp < 0 || tmp >= arf->e_strlen) { ~~~ ^ ~ 2 warnings generated. cc -c -DHAVE_CONFIG_H -I.. -I. -I. -O2 -pipe begin.c begin.c:110:20: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] if (arf->e_off < 0 || arf->e_off > arf->e_size) { ~~ ^ ~ begin.c:142:14: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] if (tmp < 0 || tmp >= arf->e
Re: Port bulk with
On 2017/08/10 20:27, Karel Gardas wrote: > On Thu, Aug 10, 2017 at 4:46 PM, Christian Weisgerber > wrote: > > On 2017-08-09, Martin Pieuchot wrote: > > > >> So here's a first step, introducing /usr/include/elf.h. Could some of > >> you run a bulk with it and report the possible breakages? > > > > This breaks devel/libelf, which indirectly takes out about a quarter > > of the tree. > > Interesting. It does not fail here. But I do have around 14 days old > current and full version of the patch applied: > https://www.mail-archive.com/tech@openbsd.org/msg40551.html > > Will try to update and see if there is issue with full version. Thanks > for testing! > Karel > Confirmed here on -current i386 too. Conflicting definition of elf_hash() in libelf's libelf.h.
Re: Port bulk with
On Thu, Aug 10, 2017 at 4:46 PM, Christian Weisgerber wrote: > On 2017-08-09, Martin Pieuchot wrote: > >> So here's a first step, introducing /usr/include/elf.h. Could some of >> you run a bulk with it and report the possible breakages? > > This breaks devel/libelf, which indirectly takes out about a quarter > of the tree. Interesting. It does not fail here. But I do have around 14 days old current and full version of the patch applied: https://www.mail-archive.com/tech@openbsd.org/msg40551.html Will try to update and see if there is issue with full version. Thanks for testing! Karel
Re: Port bulk with
On 2017-08-09, Martin Pieuchot wrote: > So here's a first step, introducing /usr/include/elf.h. Could some of > you run a bulk with it and report the possible breakages? This breaks devel/libelf, which indirectly takes out about a quarter of the tree. >>> Building on amd64-3 under devel/libelf BDEPENDS = [devel/metaauto;devel/autoconf/2.13] DIST = [devel/libelf:libelf-0.8.13.tar.gz] FULLPKGNAME = libelf-0.8.13p3 (Junk lock obtained for amd64-3 at 1502321695) >>> Running depends in devel/libelf at 1502321695 /usr/sbin/pkg_add -aI -Dunsigned -Drepair autoconf-2.13p4 metaauto-1.0p1 was: /usr/sbin/pkg_add -aI -Dunsigned -Drepair autoconf-2.13p4 metaauto-1.0p1 /usr/sbin/pkg_add -aI -Dunsigned -Drepair autoconf-2.13p4 metaauto-1.0p1 >>> Running show-prepare-results in devel/libelf at 1502321695 ===> devel/libelf ===> libelf-0.8.13p3 depends on: metaauto-* -> metaauto-1.0p1 ===> libelf-0.8.13p3 depends on: autoconf-2.13 -> autoconf-2.13p4 autoconf-2.13p4 metaauto-1.0p1 (Junk lock released for amd64-3 at 1502321696) distfiles size=148529 >>> Running build in devel/libelf at 1502321696 ===> devel/libelf ===> Checking files for libelf-0.8.13p3 `/usr/ports/distfiles/libelf-0.8.13.tar.gz' is up to date. >> (SHA256) libelf-0.8.13.tar.gz: OK ===> Extracting for libelf-0.8.13p3 ===> Patching for libelf-0.8.13p3 ===> Applying OpenBSD patch patch-aclocal_m4 Hmm... Looks like a unified diff to me... The text leading up to this was: -- |$OpenBSD: patch-aclocal_m4,v 1.4 2012/05/19 08:24:50 sthen Exp $ |--- aclocal.m4.origFri May 23 04:17:56 2008 |+++ aclocal.m4 Fri May 18 22:53:37 2012 -- Patching file aclocal.m4 using Plan A... Hunk #1 succeeded at 288. done ===> Compiler link: clang -> /usr/bin/clang ===> Compiler link: clang++ -> /usr/bin/clang++ ===> Compiler link: cc -> /usr/bin/cc ===> Compiler link: c++ -> /usr/bin/c++ Running autoconf-2.13 in /usr/obj/ports/libelf-0.8.13/libelf-0.8.13 Running autoheader-2.13 in /usr/obj/ports/libelf-0.8.13/libelf-0.8.13 ===> Configuring for libelf-0.8.13p3 Using /usr/obj/ports/libelf-0.8.13/config.site (generated) loading site script /usr/obj/ports/libelf-0.8.13/config.site creating cache ./config.cache checking whether make sets ${MAKE}... (cached) yes checking for gcc... cc checking whether the C compiler (cc -O2 -pipe ) works... yes checking whether the C compiler (cc -O2 -pipe ) is a cross-compiler... no checking whether we are using GNU C... (cached) yes checking whether cc accepts -g... (cached) yes checking how to run the C preprocessor... cc -E checking for a BSD compatible install... /usr/obj/ports/libelf-0.8.13/bin/install -c checking for ranlib... ranlib checking whether ln -s works... yes checking for ANSI C header files... (cached) yes checking for unistd.h... (cached) yes checking for stdint.h... (cached) yes checking for fcntl.h... (cached) yes checking for elf.h... yes checking for sys/elf.h... no checking for link.h... yes checking for sys/link.h... no checking if cc can compile elf.h... yes checking for ar.h... yes checking for libelf.h... no checking for nlist.h... (cached) yes checking for gelf.h... no checking whether to install , and ... no checking for working const... (cached) yes checking for off_t... (cached) yes checking for size_t... (cached) yes checking size of short... (cached) 2 checking size of int... 4 checking size of long... 8 checking size of long long... (cached) 8 checking size of __int64... 0 checking for struct Elf32_Dyn... yes checking for struct nlist in elf.h... no checking for struct Elf64_Ehdr... yes checking for Elf64_Addr... yes checking for struct Elf64_Rel... yes checking for Elf32_Verdef... no checking for Elf64_Verdef... no checking for SHT_SUNW_verdef... no checking for SHT_GNU_verdef... no checking for 64-bit integer... long checking for 32-bit integer... int checking for 16-bit integer... short checking for unistd.h... (cached) yes checking for getpagesize... (cached) yes checking for working mmap... (cached) yes checking for ftruncate... (cached) yes checking for memcmp... (cached) yes checking for memcpy... (cached) yes checking for memmove... (cached) yes checking for memset... (cached) yes checking whether overlapping arrays are copied correctly... yes checking the coffee machine... empty - operator may not work as expected checking whether 64-bit ELF support is sufficient... yes checking whether to include 64-bit support... yes checking whether versioning support is sufficient... no checking whether to include versioning support... no checking whether NLS is requested... no checking for gettext in -lintl... no checking host system type... x86_64-unknown-openbsd6.1 checking whether to build a shared library... yes checking whether GNU naming conventions are requested... no checking for ld... /usr/bin/ld updating cache ./config.cache creating ./config.status creating Makefile creating lib/Makefile creating po/M
Port bulk with
As discussed recently on tech@ with Karel, some ports would benefit from having a header. This header is the Solaris version of our and has been adopted by FreeBSD. I'd like to migrate our base system from to . This would make our base tools dealing with ELF more portable. So here's a first step, introducing /usr/include/elf.h. Could some of you run a bulk with it and report the possible breakages? Thanks, Martin Index: Makefile === RCS file: /cvs/src/include/Makefile,v retrieving revision 1.219 diff -u -p -r1.219 Makefile --- Makefile17 Apr 2017 15:53:21 - 1.219 +++ Makefile9 Aug 2017 15:46:46 - @@ -10,9 +10,10 @@ .include FILES= a.out.h ar.h asr.h assert.h bitstring.h blf.h bsd_auth.h \ - complex.h cpio.h ctype.h curses.h db.h dirent.h disktab.h \ - dlfcn.h elf_abi.h err.h errno.h fenv.h float.h fnmatch.h fstab.h fts.h \ - ftw.h getopt.h glob.h grp.h icdb.h ieeefp.h ifaddrs.h inttypes.h \ + complex.h cpio.h ctype.h curses.h db.h dirent.h disktab.h dlfcn.h \ + elf.h elf_abi.h err.h errno.h \ + fenv.h float.h fnmatch.h fstab.h fts.h ftw.h \ + getopt.h glob.h grp.h icdb.h ieeefp.h ifaddrs.h inttypes.h \ iso646.h kvm.h langinfo.h libgen.h limits.h link.h link_elf.h \ locale.h login_cap.h math.h md5.h memory.h ndbm.h netdb.h netgroup.h \ nlist.h nl_types.h paths.h poll.h pwd.h ranlib.h readpassphrase.h \ Index: elf.h === RCS file: elf.h diff -N elf.h --- /dev/null 1 Jan 1970 00:00:00 - +++ elf.h 9 Aug 2017 15:49:08 - @@ -0,0 +1,12 @@ +/* $OpenBSD$ */ + +/* + * Public domain. + */ + +#ifndef _ELF_H_ +#define _ELF_H_ + +#include + +#endif /* _ELF_H_ */