# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= ravensys-binutils VERSION= 2.41 KEYWORDS= devel VARIANTS= standard SDESC[standard]= GNU binary tools for Ravenports toolchain HOMEPAGE= https://www.gnu.org/software/binutils/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= SOURCEWARE/binutils/releases DISTFILE[1]= binutils-2.41.tar.xz:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= mpfr:static:standard gmp:static:standard USES= cpe bison gmake libtool zlib:build DISTNAME= binutils-2.41 LICENSE= GPLv3+:single LICENSE_TERMS= single:{{WRKDIR}}/TERMS LICENSE_FILE= GPLv3+:{{WRKSRC}}/COPYING3 LICENSE_AWK= TERMS:"ifndef GAS" LICENSE_SOURCE= TERMS:{{WRKSRC}}/gas/as.h LICENSE_SCHEME= solo PREFIX= {{LOCALBASE}}/toolchain CPE_PRODUCT= binutils CPE_VENDOR= gnu FPC_EQUIVALENT= devel/binutils INVALID_RPATH= yes MUST_CONFIGURE= gnu CONFIGURE_ARGS= --disable-werror --disable-shared --with-gmp={{LOCALBASE}} --with-mpfr={{LOCALBASE}} --with-system-zlib --with-lib-path=/usr/lib --enable-targets=all --enable-x86-relax-relocations=no --enable-nls=no INSTALL_TARGET= install-strip PLIST_SUB= PLUGINAPI={{PLUGINAPI}} LINKER={{LINKER}} ASSEMBLER={{ASSEMBLER}} GPROF={{GPROF}} TARGET={{CONFIGURE_TARGET}} CTF={{SKIP_CTF:U}} SFRAME={{SFRAME}} INFRASTRUCTURE= yes LDFLAGS= -Wl,--disable-new-dtags VAR_OPSYS[freebsd]= VAR1=/libexec/ld-elf.so.1 VAR2=/libexec/ld-elf.so.1 MAKEFILE_LINE=BUILD_GOLD=yes MAKEFILE_LINE=GOLD_CONFIG=--enable-gold VAR_OPSYS[sunos]= VAR1=/lib/amd64/ld.so.1 VAR2=/lib/ld.so.1 MAKEFILE_LINE=BUILD_GOLD=yes MAKEFILE_LINE=GOLD_CONFIG=--enable-gold VAR_OPSYS[linux]= VAR1=/lib/ld64.so.1 VAR2=/lib/ldx32.so.1 MAKEFILE_LINE=BUILD_GOLD=yes MAKEFILE_LINE=GOLD_CONFIG=--enable-gold MAKEFILE_LINE=SFRAME="@comment " VAR_OPSYS[darwin]= VAR1=/libexec/ld-elf.so.1 VAR2=/libexec/ld-elf.so.1 MAKEFILE_LINE=LINKER="@comment " MAKEFILE_LINE=ASSEMBLER="@comment " MAKEFILE_LINE=GPROF="@comment " VAR_OPSYS[netbsd]= VAR1=/libexec/ld.elf-so VAR2=/libexec/ld.elf_so-i386 MAKEFILE_LINE=BUILD_GOLD=yes MAKEFILE_LINE=GOLD_CONFIG=--enable-gold VAR_OPSYS[openbsd]= MAKEFILE_LINE=PLUGINAPI="@comment " VAR_OPSYS[dragonfly]= VAR1=/libexec/ld-elf.so.2 VAR2=/libexec/ld-elf.so.2 MAKEFILE_LINE=BUILD_GOLD=yes MAKEFILE_LINE=GOLD_CONFIG=--enable-gold VAR_OPSYS[midnightbsd]= VAR1=/libexec/ld-elf.so.1 VAR2=/libexec/ld-elf.so.1 MAKEFILE_LINE=BUILD_GOLD=yes MAKEFILE_LINE=GOLD_CONFIG=--enable-gold MAKEFILE_LINE=CONFIGURE_TARGET=x86_64-raven-freebsd12.3 post-patch: ${REINPLACE_CMD} \ -e 's|@ELF64_INTERPRETER@|${VAR1}|' \ -e 's|@ELF32_INTERPRETER@|${VAR2}|' \ ${WRKSRC}/bfd/elfxx-x86.c \ ${WRKSRC}/gold/x86_64.cc # turn NLS off ${REINPLACE_CMD} -e '/INFO_DEPS =/d' \ ${WRKSRC}/ld/Makefile.in \ ${WRKSRC}/gprof/Makefile.in \ ${WRKSRC}/bfd/Makefile.in \ ${WRKSRC}/binutils/Makefile.in \ ${WRKSRC}/gas/Makefile.in \ ${WRKSRC}/libsframe/Makefile.in \ ${WRKSRC}/libctf/Makefile.in post-install: ${INSTALL_DATA} ${WRKSRC}/include/plugin-api.h \ ${STAGEDIR}${PREFIX}/include/ ${RM} ${STAGEDIR}${PREFIX}/include/ansidecl.h ${SED} -i'' '/#include "ansidecl.h"/d' \ ${STAGEDIR}${PREFIX}/include/bfd.h .for tool in coffdump dlltool dllwrap nlmconv srconv sysdump windmc windres ${RM} ${STAGEDIR}${PREFIX}/bin/${BUTARGET}-${tool} \ ${STAGEDIR}${MANPREFIX}/man/man1/${BUTARGET}-${tool}.1 \ ${STAGEDIR}${PREFIX}/${BUTARGET}/bin/${tool} .endfor # autoplist target files and ldscripts ${FIND} ${STAGEDIR}${PREFIX}/${CONFIGURE_TARGET} ! -type d | \ ${SED} -e 's,^${STAGEDIR}${PREFIX}/,,' \ >> ${WRKDIR}/.manifest.single.mktmp post-extract: # remove ability to dynamicaly link zlib ${RM} ${LOCALBASE}/lib/libz.so [FILE:164:descriptions/desc.single] This package is part of the Ravenports Toolchain. It mainly contains * ld - the GNU linker. * as - the GNU assembler. which are used by the Ravenports compiler. [FILE:99:distinfo] ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450 26765692 binutils-2.41.tar.xz [FILE:1129:manifests/plist.single] %%ASSEMBLER%%bin/as %%ASSEMBLER%%share/man/man1/as.1.gz %%CTF%%include/ ctf-api.h ctf.h %%CTF%%lib/ libctf-nobfd.a libctf.a %%GOLD%%bin/ dwp ld.gold %%GPROF%%bin/gprof %%GPROF%%share/man/man1/gprof.1.gz %%LINKER%%bin/ ld ld.bfd %%LINKER%%share/man/man1/ld.1.gz %%ONLY-LINUX%%%%GPROF%%bin/ gp-archive gp-collect-app gp-display-html gp-display-src gp-display-text gprofng %%ONLY-LINUX%%%%GPROF%%etc/gprofng.rc %%ONLY-LINUX%%%%GPROF%%include/ collectorAPI.h libcollector.h libfcollector.h %%ONLY-LINUX%%%%GPROF%%lib/libgprofng.a %%ONLY-LINUX%%%%GPROF%%lib/gprofng/libgp-collectorAPI.a %%PLUGINAPI%%include/plugin-api.h %%SFRAME%%include/ sframe-api.h sframe.h %%SFRAME%%lib/libsframe.a bin/ addr2line ar c++filt elfedit nm objcopy objdump ranlib readelf size strings strip include/ bfd.h bfdlink.h diagnostics.h dis-asm.h symcat.h lib/ libbfd.a libopcodes.a lib/bfd-plugins/libdep.a share/man/man1/ addr2line.1.gz ar.1.gz c++filt.1.gz dlltool.1.gz elfedit.1.gz nm.1.gz objcopy.1.gz objdump.1.gz ranlib.1.gz readelf.1.gz size.1.gz strings.1.gz strip.1.gz windmc.1.gz windres.1.gz [FILE:424:patches/patch-bfd_config.bfd] For loader.efi linking support. --- bfd/config.bfd.orig 2023-07-02 23:00:00 UTC +++ bfd/config.bfd @@ -691,7 +691,7 @@ case "${targ}" in ;; x86_64-*-dragonfly*) targ_defvec=x86_64_elf64_vec - targ_selvecs="i386_elf32_vec iamcu_elf32_vec" + targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_pe_vec x86_64_pei_vec x86_64_elf64_vec" want64=true ;; x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) [FILE:1045:patches/patch-bfd_elfnn-aarch64.c] --- bfd/elfnn-aarch64.c.orig 2023-07-02 23:00:00 UTC +++ bfd/elfnn-aarch64.c @@ -5029,7 +5029,9 @@ aarch64_calculate_got_entry_vma (struct off = h->got.offset; BFD_ASSERT (off != (bfd_vma) - 1); if (!WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h) - || (bfd_link_pic (info) + || ((bfd_link_pic (info) + || (!bfd_link_relocatable (info) + && (info->export_dynamic || info->dynamic))) && SYMBOL_REFERENCES_LOCAL (info, h)) || (ELF_ST_VISIBILITY (h->other) && h->root.type == bfd_link_hash_undefweak)) @@ -9717,6 +9719,14 @@ elfNN_aarch64_finish_dynamic_symbol (bfd + h->root.u.def.section->output_section->vma + h->root.u.def.section->output_offset); } + else if (!bfd_link_relocatable (info) + && (info->export_dynamic || info->dynamic) + && SYMBOL_REFERENCES_LOCAL (info, h)) + { + BFD_ASSERT ((h->got.offset & 1) != 0); + rela.r_info = ELFNN_R_INFO (h->dynindx, AARCH64_R (GLOB_DAT)); + rela.r_addend = 0; + } else { do_glob_dat: [FILE:426:patches/patch-bfd_elfxx-x86.c] --- bfd/elfxx-x86.c.orig 2023-07-02 23:00:00 UTC +++ bfd/elfxx-x86.c @@ -26,8 +26,8 @@ section. */ #define ELF32_DYNAMIC_INTERPRETER "/usr/lib/libc.so.1" -#define ELF64_DYNAMIC_INTERPRETER "/lib/ld64.so.1" -#define ELFX32_DYNAMIC_INTERPRETER "/lib/ldx32.so.1" +#define ELF64_DYNAMIC_INTERPRETER "@ELF64_INTERPRETER@" +#define ELFX32_DYNAMIC_INTERPRETER "@ELF32_INTERPRETER@" bool _bfd_x86_elf_mkobject (bfd *abfd) [FILE:963:patches/patch-gold_x86__64.cc] --- gold/x86_64.cc.orig 2023-07-02 23:00:00 UTC +++ gold/x86_64.cc @@ -1299,7 +1299,7 @@ const Target::Target_info Target_x86_64< true, // is_default_stack_executable true, // can_icf_inline_merge_sections '\0', // wrap_char - "/lib/ld64.so.1", // program interpreter + "@ELF64_INTERPRETER@", // program interpreter 0x400000, // default_text_segment_address 0x1000, // abi_pagesize (overridable by -z max-page-size) 0x1000, // common_pagesize (overridable by -z common-page-size) @@ -1328,7 +1328,7 @@ const Target::Target_info Target_x86_64< true, // is_default_stack_executable true, // can_icf_inline_merge_sections '\0', // wrap_char - "/libx32/ldx32.so.1", // program interpreter + "@ELF32_INTERPRETER@", // program interpreter 0x400000, // default_text_segment_address 0x1000, // abi_pagesize (overridable by -z max-page-size) 0x1000, // common_pagesize (overridable by -z common-page-size) [FILE:611:patches/patch-include__safe-ctype.h] --- include/safe-ctype.h.orig 2023-07-02 23:00:00 UTC +++ include/safe-ctype.h @@ -119,6 +119,7 @@ extern const unsigned char _sch_tolower including another system header (for instance gnulib's stdint.h). So we include ctype.h here and then immediately redefine its macros. */ +#if 0 #include #undef isalpha #define isalpha(c) do_not_use_isalpha_with_safe_ctype @@ -146,5 +147,6 @@ extern const unsigned char _sch_tolower #define toupper(c) do_not_use_toupper_with_safe_ctype #undef tolower #define tolower(c) do_not_use_tolower_with_safe_ctype +#endif #endif /* SAFE_CTYPE_H */ [FILE:221:files/special.mk] .if defined(BUILD_GOLD) CONFIGURE_ARGS+= ${GOLD_CONFIG} CONFIGURE_ARGS+= --enable-plugins PLIST_SUB+= GOLD="" .else CONFIGURE_ARGS+= --disable-gold CONFIGURE_ARGS+= --disable-plugins PLIST_SUB+= GOLD="@comment " .endif