| commit 79a117c82c59a07b041c1396a8270d2905b91d01 |
| Author: Roland McGrath <mcgrathr@google.com> |
| Date: Tue Aug 9 12:09:17 2016 -0700 |
| |
| Support -pie for arm*-eabi targets. |
| |
| ld/ |
| * emulparams/armelf.sh (GENERATE_PIE_SCRIPT): Set to yes. |
| |
| diff --git a/ld/emulparams/armelf.sh b/ld/emulparams/armelf.sh |
| index 672b208..f581c68 100644 |
| --- a/ld/emulparams/armelf.sh |
| +++ b/ld/emulparams/armelf.sh |
| @@ -21,6 +21,7 @@ OTHER_READONLY_SECTIONS=" |
| DATA_START_SYMBOLS='__data_start = . ;'; |
| |
| GENERATE_SHLIB_SCRIPT=yes |
| +GENERATE_PIE_SCRIPT=yes |
| |
| ARCH=arm |
| MACHINE= |
| |
| |
| commit 37bb4d970f17d7f33d0621f7b81b623456b1d183 |
| Author: Roland McGrath <mcgrathr@google.com> |
| Date: Fri Aug 12 09:50:49 2016 -0700 |
| |
| [gold] Implement HIDDEN syntax in linker scripts |
| |
| gold/ |
| * yyscript.y (HIDDEN): New %token. |
| (assignment): Handle HIDDEN(string = expr) syntax. |
| * script.cc (script_keyword_parsecodes): Add HIDDEN. |
| |
| (cherry picked from commit f300578f78f5ecddc9cfb28c02d032a0acffdf70) |
| |
| diff --git a/gold/script.cc b/gold/script.cc |
| index d6aa7b2..bb8b437 100644 |
| --- a/gold/script.cc |
| +++ b/gold/script.cc |
| @@ -1755,6 +1755,7 @@ script_keyword_parsecodes[] = |
| { "FLOAT", FLOAT }, |
| { "FORCE_COMMON_ALLOCATION", FORCE_COMMON_ALLOCATION }, |
| { "GROUP", GROUP }, |
| + { "HIDDEN", HIDDEN }, |
| { "HLL", HLL }, |
| { "INCLUDE", INCLUDE }, |
| { "INFO", INFO }, |
| diff --git a/gold/yyscript.y b/gold/yyscript.y |
| index 7e6bd27..38831d5 100644 |
| --- a/gold/yyscript.y |
| +++ b/gold/yyscript.y |
| @@ -137,6 +137,7 @@ |
| %token FORCE_COMMON_ALLOCATION |
| %token GLOBAL /* global */ |
| %token GROUP |
| +%token HIDDEN |
| %token HLL |
| %token INCLUDE |
| %token INHIBIT_COMMON_ALLOCATION |
| @@ -864,6 +865,8 @@ assignment: |
| Expression_ptr e = script_exp_binary_bitwise_or(s, $3); |
| script_set_symbol(closure, $1.value, $1.length, e, 0, 0); |
| } |
| + | HIDDEN '(' string '=' parse_exp ')' |
| + { script_set_symbol(closure, $3.value, $3.length, $5, 0, 1); } |
| | PROVIDE '(' string '=' parse_exp ')' |
| { script_set_symbol(closure, $3.value, $3.length, $5, 1, 0); } |
| | PROVIDE_HIDDEN '(' string '=' parse_exp ')' |
| |
| commit 9dfbd0e7d0765a35dce7423d79a975d7c5bad3ae |
| Author: Roland McGrath <mcgrathr@google.com> |
| Date: Fri Aug 12 09:55:25 2016 -0700 |
| |
| PR gold/20462: Fix bogus layout on ARM with linker script using PHDRS clause |
| |
| gold/ |
| PR gold/20462 |
| * script-sections.cc (Script_sections::release_segments): |
| Reset this->segments_created_. |
| |
| (cherry picked from commit 3785f51aa2454dba199db8aafa80019795d536ec) |
| |
| diff --git a/gold/script-sections.cc b/gold/script-sections.cc |
| index 96c68de..bf25391 100644 |
| --- a/gold/script-sections.cc |
| +++ b/gold/script-sections.cc |
| @@ -4459,6 +4459,7 @@ Script_sections::release_segments() |
| ++p) |
| (*p)->release_segment(); |
| } |
| + this->segments_created_ = false; |
| } |
| |
| // Print the SECTIONS clause to F for debugging. |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/bfd/cache.c binutils-2.27/bfd/cache.c |
| *** binutils-2.27-fsf/bfd/cache.c 2017-02-21 15:59:58.416850264 -0800 |
| --- binutils-2.27/bfd/cache.c 2017-02-21 15:53:16.650326182 -0800 |
| *************** bfd_cache_max_open (void) |
| *** 93,99 **** |
| this limitation. */ |
| max = 16; |
| #else |
| ! #ifdef HAVE_GETRLIMIT |
| struct rlimit rlim; |
| |
| if (getrlimit (RLIMIT_NOFILE, &rlim) == 0 |
| --- 93,100 ---- |
| this limitation. */ |
| max = 16; |
| #else |
| ! /* Fuchsia: Remove when getrlimit() has been implemented. */ |
| ! #if !defined(__Fuchsia__) && defined(HAVE_GETRLIMIT) |
| struct rlimit rlim; |
| |
| if (getrlimit (RLIMIT_NOFILE, &rlim) == 0 |
| *************** bfd_cache_max_open (void) |
| *** 101,107 **** |
| max = rlim.rlim_cur / 8; |
| else |
| #endif |
| ! #ifdef _SC_OPEN_MAX |
| max = sysconf (_SC_OPEN_MAX) / 8; |
| #else |
| max = 10; |
| --- 102,110 ---- |
| max = rlim.rlim_cur / 8; |
| else |
| #endif |
| ! /* Fuchsia: Remove when sysconf(_SC_OPEN_MAX) has been implemented |
| ! (it currently relies on unimplemented getrlimit()). */ |
| ! #if !defined(__Fuchsia__) && defined(_SC_OPEN_MAX) |
| max = sysconf (_SC_OPEN_MAX) / 8; |
| #else |
| max = 10; |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/bfd/config.bfd binutils-2.27/bfd/config.bfd |
| *** binutils-2.27-fsf/bfd/config.bfd 2016-11-23 08:59:58.370833363 -0800 |
| --- binutils-2.27/bfd/config.bfd 2016-11-16 08:49:21.135106894 -0800 |
| *************** case "${targ}" in |
| *** 192,197 **** |
| --- 192,202 ---- |
| targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec" |
| want64=true |
| ;; |
| + aarch64-*-fuchsia*) |
| + targ_defvec=aarch64_elf64_le_vec |
| + targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec" |
| + want64=true |
| + ;; |
| aarch64-*-cloudabi*) |
| targ_defvec=aarch64_elf64_le_cloudabi_vec |
| targ_selvecs=aarch64_elf64_be_cloudabi_vec |
| *************** case "${targ}" in |
| *** 286,291 **** |
| --- 291,300 ---- |
| targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec" |
| targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch" |
| ;; |
| + arm-*-fuchsia*) |
| + targ_defvec=arm_elf32_le_vec |
| + targ_selvecs="arm_elf32_be_vec" |
| + ;; |
| arm-*-nacl*) |
| targ_defvec=arm_elf32_nacl_le_vec |
| targ_selvecs="arm_elf32_nacl_be_vec i386_elf32_nacl_vec" |
| *************** case "${targ}" in |
| *** 693,699 **** |
| targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec" |
| want64=true |
| ;; |
| ! x86_64-*-elf* | x86_64-*-rtems*) |
| targ_defvec=x86_64_elf64_vec |
| targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec" |
| want64=true |
| --- 702,708 ---- |
| targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec" |
| want64=true |
| ;; |
| ! x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia) |
| targ_defvec=x86_64_elf64_vec |
| targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec" |
| want64=true |
| diff -dcp -r binutils-2.27/config.sub binutils-2.27-fuchsia/config.sub |
| *** binutils-2.27/config.sub 2016-08-03 00:36:51.000000000 -0700 |
| --- binutils-2.27-fuchsia/config.sub 2016-10-24 17:41:14.128384816 -0700 |
| *************** case $os in |
| *** 1399,1405 **** |
| | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ |
| | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ |
| | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ |
| ! | -onefs* | -tirtos* | -phoenix*) |
| # Remember, each alternative MUST END IN *, to match a version number. |
| ;; |
| -qnx*) |
| --- 1399,1405 ---- |
| | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ |
| | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ |
| | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ |
| ! | -onefs* | -tirtos* | -phoenix* | -fuchsia*) |
| # Remember, each alternative MUST END IN *, to match a version number. |
| ;; |
| -qnx*) |
| diff -dcp -r binutils-2.27/configure binutils-2.27-fuchsia/configure |
| *** binutils-2.27/configure 2016-08-03 00:54:55.000000000 -0700 |
| --- binutils-2.27-fuchsia/configure 2016-10-31 12:00:06.513896294 -0700 |
| *************** case "${ENABLE_GOLD}" in |
| *** 2959,2965 **** |
| *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \ |
| | *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \ |
| | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \ |
| ! | *-*-solaris2* | *-*-nto* | *-*-nacl*) |
| case "${target}" in |
| *-*-linux*aout* | *-*-linux*oldld*) |
| ;; |
| --- 2959,2965 ---- |
| *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \ |
| | *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \ |
| | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \ |
| ! | *-*-solaris2* | *-*-nto* | *-*-nacl* | *-*-fuchsia*) |
| case "${target}" in |
| *-*-linux*aout* | *-*-linux*oldld*) |
| ;; |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/gas/configure.tgt binutils-2.27/gas/configure.tgt |
| *** binutils-2.27-fsf/gas/configure.tgt 2016-11-23 08:59:59.878827298 -0800 |
| --- binutils-2.27/gas/configure.tgt 2016-11-16 08:49:21.135106894 -0800 |
| *************** generic_target=${cpu_type}-$vendor-$os |
| *** 121,126 **** |
| --- 121,127 ---- |
| # Note: This table is alpha-sorted, please try to keep it that way. |
| case ${generic_target} in |
| aarch64*-*-elf | aarch64*-*-rtems*) fmt=elf;; |
| + aarch64*-*-fuchsia*) fmt=elf;; |
| aarch64*-*-linux*) fmt=elf em=linux ;; |
| |
| alpha-*-*vms*) fmt=evax ;; |
| *************** case ${generic_target} in |
| *** 159,164 **** |
| --- 160,166 ---- |
| fmt=coff em=wince-pe ;; |
| arm-*-pe) fmt=coff em=pe ;; |
| arm-*-riscix*) fmt=aout em=riscix ;; |
| + arm-*-fuchsia*) fmt=elf ;; |
| |
| avr-*-*) fmt=elf bfd_gas=yes ;; |
| |
| *************** case ${generic_target} in |
| *** 219,224 **** |
| --- 221,227 ---- |
| i386-*-coff) fmt=coff ;; |
| i386-*-elfiamcu) fmt=elf arch=iamcu ;; |
| i386-*-elf*) fmt=elf ;; |
| + i386-*-fuchsia*) fmt=elf ;; |
| i386-*-kaos*) fmt=elf ;; |
| i386-*-bsd*) fmt=aout em=386bsd ;; |
| i386-*-nacl*) fmt=elf em=nacl |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/gold/fileread.cc binutils-2.27/gold/fileread.cc |
| *** binutils-2.27-fsf/gold/fileread.cc 2016-11-23 09:00:03.026814640 -0800 |
| --- binutils-2.27/gold/fileread.cc 2016-12-02 11:05:29.758465966 -0800 |
| *************** File_read::find_view(off_t start, sectio |
| *** 372,377 **** |
| --- 372,391 ---- |
| return NULL; |
| } |
| |
| + #ifdef __Fuchsia__ |
| + /* Fuchsia provides an unimplemented pread, which is sufficient to convince |
| + configure into linking against it. */ |
| + extern "C" { |
| + static ssize_t |
| + fuchsia_pread (int fd, void *buf, size_t count, off_t offset) |
| + { |
| + if (lseek(fd, offset, SEEK_SET) != offset) |
| + return -1; |
| + return read(fd, buf, count); |
| + } |
| + } |
| + #endif |
| + |
| // Read SIZE bytes from the file starting at offset START. Read into |
| // the buffer at P. |
| |
| *************** File_read::do_read(off_t start, section_ |
| *** 397,403 **** |
| --- 411,421 ---- |
| size_t to_read = size; |
| do |
| { |
| + #ifdef __Fuchsia__ |
| + bytes = fuchsia_pread(this->descriptor_, read_ptr, to_read, read_pos); |
| + #else |
| bytes = ::pread(this->descriptor_, read_ptr, to_read, read_pos); |
| + #endif |
| if (bytes < 0) |
| gold_fatal(_("%s: pread failed: %s"), |
| this->filename().c_str(), strerror(errno)); |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/gold/output.cc binutils-2.27/gold/output.cc |
| *** binutils-2.27-fsf/gold/output.cc 2016-11-23 09:00:03.242813772 -0800 |
| --- binutils-2.27/gold/output.cc 2016-12-09 17:11:18.558286565 -0800 |
| *************** namespace gold |
| *** 127,136 **** |
| static int |
| gold_fallocate(int o, off_t offset, off_t len) |
| { |
| ! #ifdef HAVE_POSIX_FALLOCATE |
| if (parameters->options().posix_fallocate()) |
| return ::posix_fallocate(o, offset, len); |
| ! #endif // defined(HAVE_POSIX_FALLOCATE) |
| #ifdef HAVE_FALLOCATE |
| if (::fallocate(o, 0, offset, len) == 0) |
| return 0; |
| --- 127,136 ---- |
| static int |
| gold_fallocate(int o, off_t offset, off_t len) |
| { |
| ! #if defined(HAVE_POSIX_FALLOCATE) && !defined(__Fuchsia__) |
| if (parameters->options().posix_fallocate()) |
| return ::posix_fallocate(o, offset, len); |
| ! #endif // defined(HAVE_POSIX_FALLOCATE) && !defined(__Fuchsia__) |
| #ifdef HAVE_FALLOCATE |
| if (::fallocate(o, 0, offset, len) == 0) |
| return 0; |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/ld/configure.tgt binutils-2.27/ld/configure.tgt |
| *** binutils-2.27-fsf/ld/configure.tgt 2016-11-23 08:59:55.706844075 -0800 |
| --- binutils-2.27/ld/configure.tgt 2016-11-21 16:45:35.047787524 -0800 |
| *************** aarch64-*-cloudabi*) targ_emul=aarch64cl |
| *** 54,59 **** |
| --- 54,61 ---- |
| targ_extra_emuls=aarch64cloudabib ;; |
| aarch64-*-freebsd*) targ_emul=aarch64fbsd |
| targ_extra_emuls="aarch64fbsdb aarch64elf" ;; |
| + aarch64-*-fuchsia*) targ_emul=aarch64elf |
| + targ_extra_emuls="aarch64elfb armelf armelfb" ;; |
| aarch64_be-*-linux*) targ_emul=aarch64linuxb |
| targ_extra_libpath="aarch64linux aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi" |
| targ_extra_emuls="aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb armelf $targ_extra_libpath" ;; |
| *************** arm*-*-uclinux*) targ_emul=armelf_linux |
| *** 150,155 **** |
| --- 152,160 ---- |
| ;; |
| arm-*-vxworks) targ_emul=armelf_vxworks ;; |
| arm*-*-conix*) targ_emul=armelf ;; |
| + arm*-*-fuchsia*) targ_emul=armelf_fuchsia |
| + targ_extra_emuls="armelfb_fuchsia armelf armelfb" |
| + ;; |
| avr-*-*) targ_emul=avr2 |
| targ_extra_emuls="avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny" |
| ;; |
| *************** i[3-7]86-*-elfiamcu) targ_emul=elf_iamcu |
| *** 316,322 **** |
| targ_extra_emuls=elf_i386 ;; |
| i[3-7]86-*-elf*) targ_emul=elf_i386 |
| targ_extra_emuls=elf_iamcu ;; |
| ! x86_64-*-elf* | x86_64-*-rtems*) |
| targ_emul=elf_x86_64 |
| targ_extra_emuls="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" |
| targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" |
| --- 321,327 ---- |
| targ_extra_emuls=elf_i386 ;; |
| i[3-7]86-*-elf*) targ_emul=elf_i386 |
| targ_extra_emuls=elf_iamcu ;; |
| ! x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia*) |
| targ_emul=elf_x86_64 |
| targ_extra_emuls="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" |
| targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/ld/emulparams/armelfb_fuchsia.sh binutils-2.27/ld/emulparams/armelfb_fuchsia.sh |
| *** binutils-2.27-fsf/ld/emulparams/armelfb_fuchsia.sh 1969-12-31 16:00:00.000000000 -0800 |
| --- binutils-2.27/ld/emulparams/armelfb_fuchsia.sh 2016-11-21 16:45:22.135841864 -0800 |
| *************** |
| *** 0 **** |
| --- 1,2 ---- |
| + . ${srcdir}/emulparams/armelf_fuchsia.sh |
| + OUTPUT_FORMAT="$BIG_OUTPUT_FORMAT" |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/ld/emulparams/armelf_fuchsia.sh binutils-2.27/ld/emulparams/armelf_fuchsia.sh |
| *** binutils-2.27-fsf/ld/emulparams/armelf_fuchsia.sh 1969-12-31 16:00:00.000000000 -0800 |
| --- binutils-2.27/ld/emulparams/armelf_fuchsia.sh 2016-11-21 17:26:46.729182447 -0800 |
| *************** |
| *** 0 **** |
| --- 1,32 ---- |
| + ARCH=arm |
| + SCRIPT_NAME=elf |
| + OUTPUT_FORMAT="elf32-littlearm" |
| + BIG_OUTPUT_FORMAT="elf32-bigarm" |
| + LITTLE_OUTPUT_FORMAT="elf32-littlearm" |
| + MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" |
| + COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" |
| + TEMPLATE_NAME=elf32 |
| + EXTRA_EM_FILE=armelf |
| + GENERATE_SHLIB_SCRIPT=yes |
| + GENERATE_PIE_SCRIPT=yes |
| + |
| + DATA_START_SYMBOLS='PROVIDE (__data_start = .);'; |
| + OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)' |
| + OTHER_BSS_SYMBOLS='__bss_start__ = .;' |
| + OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' |
| + OTHER_END_SYMBOLS='__end__ = . ;' |
| + OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' |
| + |
| + TEXT_START_ADDR=0x00001000 |
| + TARGET2_TYPE=got-rel |
| + |
| + # ARM does not support .s* sections. |
| + NO_SMALL_DATA=yes |
| + |
| + # Use the ARM ABI-compliant exception-handling sections. |
| + OTHER_READONLY_SECTIONS=" |
| + .ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) } |
| + ${RELOCATING+ PROVIDE_HIDDEN (__exidx_start = .); } |
| + .ARM.exidx ${RELOCATING-0} : { *(.ARM.exidx${RELOCATING+* .gnu.linkonce.armexidx.*}) } |
| + ${RELOCATING+ PROVIDE_HIDDEN (__exidx_end = .); }" |
| + |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/ld/Makefile.am binutils-2.27/ld/Makefile.am |
| *** binutils-2.27-fsf/ld/Makefile.am 2016-11-23 08:59:58.042834681 -0800 |
| --- binutils-2.27/ld/Makefile.am 2016-11-21 17:16:33.371837561 -0800 |
| *************** ALL_EMULATION_SOURCES = \ |
| *** 175,180 **** |
| --- 175,181 ---- |
| earmcoff.c \ |
| earmelf.c \ |
| earmelf_fbsd.c \ |
| + earmelf_fuchsia.c \ |
| earmelf_linux.c \ |
| earmelf_linux_eabi.c \ |
| earmelf_nacl.c \ |
| *************** ALL_EMULATION_SOURCES = \ |
| *** 183,188 **** |
| --- 184,190 ---- |
| earmelf_vxworks.c \ |
| earmelfb.c \ |
| earmelfb_fbsd.c \ |
| + earmelfb_fuchsia.c \ |
| earmelfb_linux.c \ |
| earmelfb_linux_eabi.c \ |
| earmelfb_nacl.c \ |
| *************** earmelf_fbsd.c: $(srcdir)/emulparams/arm |
| *** 757,762 **** |
| --- 759,768 ---- |
| $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ |
| $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
| |
| + earmelf_fuchsia.c: $(srcdir)/emulparams/armelf_fuchsia.sh \ |
| + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ |
| + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
| + |
| earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \ |
| $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ |
| $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
| *************** earmelfb_fbsd.c: $(srcdir)/emulparams/ar |
| *** 797,802 **** |
| --- 803,812 ---- |
| $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ |
| $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
| |
| + earmelf_fuchsia.c: $(srcdir)/emulparams/armelfb_fuchsia.sh \ |
| + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ |
| + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
| + |
| earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \ |
| $(srcdir)/emulparams/armelf_linux.sh \ |
| $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/ld/Makefile.in binutils-2.27/ld/Makefile.in |
| *** binutils-2.27-fsf/ld/Makefile.in 2016-11-23 08:59:58.082834520 -0800 |
| --- binutils-2.27/ld/Makefile.in 2016-11-21 17:16:38.471815461 -0800 |
| *************** ALL_EMULATION_SOURCES = \ |
| *** 543,548 **** |
| --- 543,549 ---- |
| earmcoff.c \ |
| earmelf.c \ |
| earmelf_fbsd.c \ |
| + earmelf_fuchsia.c \ |
| earmelf_linux.c \ |
| earmelf_linux_eabi.c \ |
| earmelf_nacl.c \ |
| *************** ALL_EMULATION_SOURCES = \ |
| *** 551,556 **** |
| --- 552,558 ---- |
| earmelf_vxworks.c \ |
| earmelfb.c \ |
| earmelfb_fbsd.c \ |
| + earmelfb_fuchsia.c \ |
| earmelfb_linux.c \ |
| earmelfb_linux_eabi.c \ |
| earmelfb_nacl.c \ |
| *************** distclean-compile: |
| *** 1180,1185 **** |
| --- 1182,1188 ---- |
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmcoff.Po@am__quote@ |
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf.Po@am__quote@ |
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_fbsd.Po@am__quote@ |
| + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_fuchsia.Po@am__quote@ |
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_linux.Po@am__quote@ |
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_linux_eabi.Po@am__quote@ |
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_nacl.Po@am__quote@ |
| *************** distclean-compile: |
| *** 1188,1193 **** |
| --- 1191,1197 ---- |
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_vxworks.Po@am__quote@ |
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb.Po@am__quote@ |
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_fbsd.Po@am__quote@ |
| + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_fuchsia.Po@am__quote@ |
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_linux.Po@am__quote@ |
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_linux_eabi.Po@am__quote@ |
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_nacl.Po@am__quote@ |
| *************** earmelf_fbsd.c: $(srcdir)/emulparams/arm |
| *** 2345,2350 **** |
| --- 2349,2358 ---- |
| $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ |
| $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
| |
| + earmelf_fuchsia.c: $(srcdir)/emulparams/armelf_fuchsia.sh \ |
| + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ |
| + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
| + |
| earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \ |
| $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ |
| $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
| *************** earmelfb_fbsd.c: $(srcdir)/emulparams/ar |
| *** 2385,2390 **** |
| --- 2393,2402 ---- |
| $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ |
| $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
| |
| + earmelf_fuchsia.c: $(srcdir)/emulparams/armelfb_fuchsia.sh \ |
| + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ |
| + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} |
| + |
| earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \ |
| $(srcdir)/emulparams/armelf_linux.sh \ |
| $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/libiberty/getruntime.c binutils-2.27/libiberty/getruntime.c |
| *** binutils-2.27-fsf/libiberty/getruntime.c 2017-02-21 14:59:51.026603203 -0800 |
| --- binutils-2.27/libiberty/getruntime.c 2017-02-21 14:53:58.899960741 -0800 |
| *************** process started. |
| *** 96,102 **** |
| long |
| get_run_time (void) |
| { |
| ! #if defined (HAVE_GETRUSAGE) && defined (HAVE_SYS_RESOURCE_H) |
| struct rusage rusage; |
| |
| getrusage (RUSAGE_SELF, &rusage); |
| --- 96,104 ---- |
| long |
| get_run_time (void) |
| { |
| ! /* Fuchsia: Remove when getrusage() has been implemented. */ |
| ! #if !defined(__Fuchsia__) && \ |
| ! defined (HAVE_GETRUSAGE) && defined (HAVE_SYS_RESOURCE_H) |
| struct rusage rusage; |
| |
| getrusage (RUSAGE_SELF, &rusage); |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/libiberty/pex-unix.c binutils-2.27/libiberty/pex-unix.c |
| *** binutils-2.27-fsf/libiberty/pex-unix.c 2017-02-21 14:59:51.082602987 -0800 |
| --- binutils-2.27/libiberty/pex-unix.c 2017-02-21 14:33:47.408601885 -0800 |
| *************** Boston, MA 02110-1301, USA. */ |
| *** 28,33 **** |
| --- 28,39 ---- |
| #include <stdio.h> |
| #include <signal.h> |
| #include <errno.h> |
| + |
| + /* Fuchsia: remove when getrusage() has been implemented. */ |
| + #ifdef __Fuchsia__ |
| + #undef HAVE_GETRUSAGE |
| + #endif |
| + |
| #ifdef NEED_DECLARATION_ERRNO |
| extern int errno; |
| #endif |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/libiberty/stack-limit.c binutils-2.27/libiberty/stack-limit.c |
| *** binutils-2.27-fsf/libiberty/stack-limit.c 2017-02-21 14:59:51.046603126 -0800 |
| --- binutils-2.27/libiberty/stack-limit.c 2017-02-21 14:52:31.212300050 -0800 |
| *************** Attempt to increase stack size limit to |
| *** 46,52 **** |
| void |
| stack_limit_increase (unsigned long pref ATTRIBUTE_UNUSED) |
| { |
| ! #if defined(HAVE_SETRLIMIT) && defined(HAVE_GETRLIMIT) \ |
| && defined(RLIMIT_STACK) && defined(RLIM_INFINITY) |
| struct rlimit rlim; |
| if (getrlimit (RLIMIT_STACK, &rlim) == 0 |
| --- 46,54 ---- |
| void |
| stack_limit_increase (unsigned long pref ATTRIBUTE_UNUSED) |
| { |
| ! /* Fuchsia: remove when getrlimit() has been implemented. */ |
| ! #if !defined(__Fuchsia__) && \ |
| ! defined(HAVE_SETRLIMIT) && defined(HAVE_GETRLIMIT) \ |
| && defined(RLIMIT_STACK) && defined(RLIM_INFINITY) |
| struct rlimit rlim; |
| if (getrlimit (RLIMIT_STACK, &rlim) == 0 |
| diff -rdcp --unidirectional-new-file binutils-2.27-fsf/Makefile.in binutils-2.27/Makefile.in |
| *** binutils-2.27-fsf/Makefile.in 2016-11-23 09:00:02.962814897 -0800 |
| --- binutils-2.27/Makefile.in 2016-11-17 14:27:46.861334193 -0800 |
| *************** HOST_EXPORTS = \ |
| *** 190,195 **** |
| --- 190,196 ---- |
| ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \ |
| CFLAGS="$(CFLAGS)"; export CFLAGS; \ |
| CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ |
| + CPPFLAGS="$(CPPFLAGS)"; export CPPFLAGS; \ |
| CXX="$(CXX)"; export CXX; \ |
| CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ |
| GCJ="$(GCJ)"; export GCJ; \ |
| *************** GNATBIND = @GNATBIND@ |
| *** 410,415 **** |
| --- 411,417 ---- |
| GNATMAKE = @GNATMAKE@ |
| |
| CFLAGS = @CFLAGS@ |
| + CPPFLAGS = @CPPFLAGS@ |
| LDFLAGS = @LDFLAGS@ |
| LIBCFLAGS = $(CFLAGS) |
| CXXFLAGS = @CXXFLAGS@ |