Corinna Vinschen
2f78d07f49
* winver.rc (LegalCopyright): Belatedly bump to 2013.
2013-06-07 19:07:05 +00:00
Will Newton
0d284dd0c1
aarch64: Add support for GNU indirect functions.
...
Add support for STT_GNU_IFUNC symbols to the AArch64 bfd backend. The tests
are ported from the ld-ifunc tests but are enabled for cross builds so can
be run easily without hardware or a simulator.
bfd/ChangeLog:
2013-06-07 Will Newton <will.newton@linaro.org>
* configure: Regenerate.
* configure.in: Build elf-ifunc.o for AArch64.
* elf64-aarch64.c: Include objalloc.h.
(elf64_aarch64_howto_dynrelocs): Add R_AARCH64_IRELATIVE howto.
(struct elf64_aarch64_link_hash_table): Add members for handling
R_AARCH64_IRELATIVE relocations.
(elf_aarch64_local_htab_hash): New function.
(elf_aarch64_local_htab_eq): New function.
(elf_aarch64_get_local_sym_hash): New function.
(elf64_aarch64_link_hash_table_create): Initialize local STT_GNU_IFUNC
symbol hash.
(elf64_aarch64_hash_table_free): Free local STT_GNU_IFUNC symbol hash.
(elf64_aarch64_final_link_relocate): Add sym argument. Add support
for handling STT_GNU_IFUNC symbols.
(elf64_aarch64_gc_sweep_hook): Add support for garbage collecting
references to STT_GNU_IFUNC symbols.
(elf64_aarch64_adjust_dynamic_symbol): Add support for handling
STT_GNU_IFUNC symbols.
(elf64_aarch64_check_relocs): Add support for handling STT_GNU_IFUNC
symbols. Ensure we don't increase plt.refcount from -1 to 0.
(elf64_aarch64_post_process_headers): Call _bfd_elf_set_osabi.
(elf64_aarch64_is_function_type): Remove function.
(elf64_aarch64_allocate_dynrelocs): Call
_bfd_elf_allocate_ifunc_dyn_relocs for STT_GNU_IFUNC symbols.
(elf_aarch64_allocate_local_dynrelocs): New function.
(elf64_aarch64_size_dynamic_sections): Call
elf_aarch64_allocate_local_dynrelocs. Initialize next_irelative_index.
(elf64_aarch64_create_small_pltn_entry): Add info argument.
Add support for creating .iplt entries for STT_GNU_IFUNC symbols.
(elf64_aarch64_finish_dynamic_symbol): Add support for handling
STT_GNU_IFUNC symbols and .iplt.
(elf_aarch64_finish_local_dynamic_symbol): New function.
(elf64_aarch64_finish_dynamic_sections): Call
elf_aarch64_finish_local_dynamic_symbol.
(elf64_aarch64_add_symbol_hook): New function.
include/elf/ChangeLog:
2013-06-07 Will Newton <will.newton@linaro.org>
* aarch64.h: Add R_AARCH64_IRELATIVE reloc.
ld/ChangeLog:
2013-06-07 Will Newton <will.newton@linaro.org>
* emulparams/aarch64elf.sh: Add IREL_IN_PLT.
ld/testsuite/ChangeLog:
2013-06-07 Will Newton <will.newton@linaro.org>
* ld-ifunc/ifunc.exp: Enable ifunc tests for AArch64.
* ld-aarch64/aarch64-elf.exp: Add ifunc tests.
* ld-aarch64/ifunc-1-local.d: New file.
* ld-aarch64/ifunc-1-local.s: Likewise.
* ld-aarch64/ifunc-1.d: Likewise.
* ld-aarch64/ifunc-1.s: Likewise.
* ld-aarch64/ifunc-10.d: Likewise.
* ld-aarch64/ifunc-10.s: Likewise.
* ld-aarch64/ifunc-11.d: Likewise.
* ld-aarch64/ifunc-11.s: Likewise.
* ld-aarch64/ifunc-12.d: Likewise.
* ld-aarch64/ifunc-12.s: Likewise.
* ld-aarch64/ifunc-13.d: Likewise.
* ld-aarch64/ifunc-13a.s: Likewise.
* ld-aarch64/ifunc-13b.s: Likewise.
* ld-aarch64/ifunc-14a.d: Likewise.
* ld-aarch64/ifunc-14a.s: Likewise.
* ld-aarch64/ifunc-14b.d: Likewise.
* ld-aarch64/ifunc-14b.s: Likewise.
* ld-aarch64/ifunc-14c.d: Likewise.
* ld-aarch64/ifunc-14c.s: Likewise.
* ld-aarch64/ifunc-14d.d: Likewise.
* ld-aarch64/ifunc-14e.d: Likewise.
* ld-aarch64/ifunc-14f.d: Likewise.
* ld-aarch64/ifunc-15.d: Likewise.
* ld-aarch64/ifunc-15.s: Likewise.
* ld-aarch64/ifunc-16.d: Likewise.
* ld-aarch64/ifunc-16.s: Likewise.
* ld-aarch64/ifunc-17a.d: Likewise.
* ld-aarch64/ifunc-17a.s: Likewise.
* ld-aarch64/ifunc-17b.d: Likewise.
* ld-aarch64/ifunc-17b.s: Likewise.
* ld-aarch64/ifunc-18a.d: Likewise.
* ld-aarch64/ifunc-18a.s: Likewise.
* ld-aarch64/ifunc-18b.d: Likewise.
* ld-aarch64/ifunc-18b.s: Likewise.
* ld-aarch64/ifunc-19a.d: Likewise.
* ld-aarch64/ifunc-19a.s: Likewise.
* ld-aarch64/ifunc-19b.d: Likewise.
* ld-aarch64/ifunc-19b.s: Likewise.
* ld-aarch64/ifunc-2-local.d: Likewise.
* ld-aarch64/ifunc-2-local.s: Likewise.
* ld-aarch64/ifunc-2.d: Likewise.
* ld-aarch64/ifunc-2.s: Likewise.
* ld-aarch64/ifunc-20.d: Likewise.
* ld-aarch64/ifunc-20.s: Likewise.
* ld-aarch64/ifunc-3.s: Likewise.
* ld-aarch64/ifunc-3a.d: Likewise.
* ld-aarch64/ifunc-3b.d: Likewise.
* ld-aarch64/ifunc-4.d: Likewise.
* ld-aarch64/ifunc-4.s: Likewise.
* ld-aarch64/ifunc-4a.d: Likewise.
* ld-aarch64/ifunc-5-local.s: Likewise.
* ld-aarch64/ifunc-5.s: Likewise.
* ld-aarch64/ifunc-5a-local.d: Likewise.
* ld-aarch64/ifunc-5a.d: Likewise.
* ld-aarch64/ifunc-5b-local.d: Likewise.
* ld-aarch64/ifunc-5b.d: Likewise.
* ld-aarch64/ifunc-5r-local.d: Likewise.
* ld-aarch64/ifunc-6.s: Likewise.
* ld-aarch64/ifunc-6a.d: Likewise.
* ld-aarch64/ifunc-6b.d: Likewise.
* ld-aarch64/ifunc-7.s: Likewise.
* ld-aarch64/ifunc-7a.d: Likewise.
* ld-aarch64/ifunc-7b.d: Likewise.
* ld-aarch64/ifunc-8.d: Likewise.
* ld-aarch64/ifunc-8a.s: Likewise.
* ld-aarch64/ifunc-8b.s: Likewise.
* ld-aarch64/ifunc-9.d: Likewise.
* ld-aarch64/ifunc-9.s: Likewise.
2013-06-07 18:57:00 +00:00
Christopher Faylor
da6461a4d5
* exceptions.cc (_cygtls::handle_SIGCONT): Reinstate previous behavior but make
...
sure that yield() isn't called when signal stack is locked.
2013-06-07 17:09:56 +00:00
Christopher Faylor
0f38043d8b
* exceptions.cc (exception::handle): Add comment explaining si_addr behavior.
2013-06-07 16:05:12 +00:00
Christopher Faylor
9791177448
* DevNotes: Add entry cgf-000023.
...
* sigproc.cc (exit_thread): Remove now-unneeded sleep code.
2013-06-07 15:37:11 +00:00
Corinna Vinschen
7eed26ae5b
Fix typos
2013-06-07 14:21:53 +00:00
Corinna Vinschen
34ec6f665b
* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 21.
2013-06-07 09:21:53 +00:00
Corinna Vinschen
af9f65e0c4
* libc/include/cdefs.h (__has_extension): New define.
...
(__has_feature): Likewise.
(__has_include): Likewise.
(__has_builtin): Likewise.
* libc/include/stdatomic.h: New.
2013-06-07 09:14:39 +00:00
Corinna Vinschen
6c860dfd25
* posix.sgml (std-notes): Fix typo.
2013-06-07 08:43:01 +00:00
Corinna Vinschen
000e74dfd5
* fhandler_disk_file.cc (fhandler_disk_file::pread): Skip to non-atomic
...
code if mandatory locking is used on this descriptor. Explain why.
(fhandler_disk_file::pwrite): Ditto.
* posix.sgml (std-notes): Extend description of file locking.
2013-06-07 08:28:25 +00:00
Maciej W. Rozycki
fc316f3a8e
* mips.h (ELF_ST_SET_MIPS_PIC): Clear any STO_MIPS16 setting.
2013-06-06 22:09:07 +00:00
Corinna Vinschen
8b7f83e68f
*** empty log message ***
2013-06-06 15:31:15 +00:00
Corinna Vinschen
b3f0fb6baa
* exceptions.cc (_cygtls::handle_SIGCONT): Simplify loop waiting for
...
sig_handle_tty_stop to wake up. Make sure to unlock before calling
yield to avoid starvation of sig_handle_tty_stop. Add comments.
* miscfuncs.cc (yield): Explain why yield should never be called under
_cygtls::lock conditions. Call SleepEx with 1ms timeout. Explain why.
2013-06-06 15:29:41 +00:00
Corinna Vinschen
925e1c8157
* libc/machine/arm/strcmp.S: Use local labels.
2013-06-05 09:41:21 +00:00
Corinna Vinschen
aa6aee7dd7
* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 20.
2013-06-05 09:37:53 +00:00
Corinna Vinschen
111af357c2
* faq-copyright.xml: Fix link to license.
...
* faq-using.xml: Ditto.
* faq-what.xml: Ditto.
2013-06-05 09:36:58 +00:00
Corinna Vinschen
47b7ed597c
* faq-programming.xml: Convert url to refer to new flat faq.html file.
...
* faq-setup.xml: Ditto.
* faq-using.xml: Ditto.
* highlights.xml: Ditto.
2013-06-05 07:57:39 +00:00
Corinna Vinschen
338a3e8b15
* new-features.xml (ov-new1.7.19): Revert mandatory locking support to
...
"preliminary".
2013-06-05 07:23:07 +00:00
Corinna Vinschen
0ec4e9966a
*** empty log message ***
2013-06-05 07:21:56 +00:00
Corinna Vinschen
c0096b6069
* Makefile.in: Add rule to rebuild Makefile if Makefile.in changes.
...
Include Makefile.dep last.
(Makefile.dep): Run xidepend within source dir. Temporarily drop
faq.xml from dependencies.
* xidepend: Fix creating base filename to accommodate VPATH.
2013-06-04 11:50:41 +00:00
Corinna Vinschen
a0238d7084
* new-features.xml (ov-new1.7.19): Align mandatory locking text to
...
today's changes.
2013-06-04 11:14:34 +00:00
Corinna Vinschen
edd73646f3
* fhandler.cc (fhandler_base::lock): Move to flock.cc.
...
(fhandler_base::fixup_after_exec): Reset mandatory_locking.
* fhandler.h (class fhandler_base): Add mandatory_locking status flag.
Add mandatory_locking accessor methods. Accommodate change throughout.
(fhandler_base::mand_lock): Declare.
(class fhandler_disk_file): Drop in favor of new status flag.
* (fhandler_disk_file::fcntl): Call need_fork_fixup if mandatory_locking
flag gets set.
* flock.cc (fhandler_base::lock): Define here.
(flock): Handle mandatory_locking.
(lockf): Ditto.
(fhandler_base::mand_lock): Define.
2013-06-04 10:24:43 +00:00
Richard Earnshaw
ca1dd3a9b5
2013-06-03 Joey Ye <joey.ye@arm.com>
...
* libc/machine/arm/Makefile.am (MEMCPY_DEP): New define.
($(lpfx)memcpy.o, $(lpfx)memcpy.obj): Depend on MEMCPY_DEP.
* libc/machine/arm/Makefile.in: Regenerated.
* newlib/libc/machine/arm/memcpy-stub.c: Exclude armv7-m/armv7e-m.
* newlib/libc/machine/arm/memcpy-armv7m.S: New.
* newlib/libc/machine/arm/memcpy.S: Replace with wrapper code. Old
code moved to ...
* newlib/libc/machine/arm/memcpy-armv7a.S: ... here. Remove
redundant architecture check.
2013-06-03 14:02:10 +00:00
Corinna Vinschen
86c126b6e3
*** empty log message ***
2013-06-03 10:40:41 +00:00
Corinna Vinschen
69154cfd6b
* sigproc.cc (exit_thread): Allow to exit the thread while running
...
global dtors. Explain why.
2013-06-03 09:48:54 +00:00
Corinna Vinschen
8516b54215
Fix typo
2013-06-02 10:50:57 +00:00
Corinna Vinschen
40cc0986e3
* new-features.xml (ov-new1.7.19): Add mandatory locking.
2013-06-02 10:22:56 +00:00
Corinna Vinschen
a24ad2c346
* autoload.cc (CancelSynchronousIo): Define.
...
* fcntl.cc (fcntl64): Drop handling of locking commands.
* fhandler.h (class fhandler_disk_file): Add mandatory_locking.
(fhandler_disk_file::fcntl): Declare.
(fhandler_disk_file::mand_lock): Declare.
* fhandler_disk_file.cc (fhandler_disk_file::fhandler_disk_file):
Initialize mandatory_locking.
(fhandler_disk_file::fcntl): New method. Handle F_LCK_MANDATORY and
locking commands.
(fhandler_disk_file::dup): Duplicate mandatory_locking. Fix a bug
when duplicating prw_handle failed.
(fhandler_disk_file::fixup_after_fork): Reset mandatory_locking.
* flock.cc (fhandler_disk_file::lock): Add comment.
(struct lock_parms): New struct to pass parameters to blocking_lock_thr
thread function.
(blocking_lock_thr): New thread function.
(fhandler_disk_file::mand_lock): New methof implementing mandatory
locking with Windows semantics.
* ntdll.h (NtLockFile): Declare.
(NtUnlockFile): Declare.
* include/fcntl.h: Fix a comment.
(F_LCK_MANDATORY): Define. Add lengthy comment to explain.
2013-06-02 10:22:14 +00:00
Corinna Vinschen
fa35814af1
* exceptions.cc (exception::handle): Resurrect accidentally lost
...
patch from 2009-07-22: Set si_addr according to POSIX for SIGSEGV.
2013-06-02 09:11:09 +00:00
Denis Chertykov
01ab5147dd
* gas/config/tc-avr.c: Change ISA for devices with USB support to
...
AVR_ISA_XMEGAU
* include/opcode/avr.h: Rename AVR_ISA_XCH to AVR_ISA_RMW. Remove
from AVR_ISA_XMEGA and add new AVR_ISA_XMEGAU
2013-06-01 07:14:44 +00:00
Corinna Vinschen
cd9ca871b0
* include/sys/socket.h: Move SHUT_xx definitoins from here...
...
* include/cygwin/socket.h: ...to here.
2013-05-31 18:08:25 +00:00
Corinna Vinschen
697ce3c45f
*** empty log message ***
2013-05-31 08:41:39 +00:00
Corinna Vinschen
9fccd63bc3
* include/cygwin/if.h: Include cygwin/socket.h rather than sys/socket.h
...
to avoid circular dependency resulting in bogus compile time warnings.
2013-05-31 08:40:35 +00:00
Jeff Johnston
d15bce48e7
2013-05-30 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/machine/powerpc/times.c: Moved to libgloss/rs6000.
* libc/machine/powerpc/Makefile.am: Remove times.c.
* libc/machine/powerpc/Makefile.in: Regenerated.
2013-05-30 22:44:41 +00:00
Jeff Johnston
6d28d61df0
2013-05-30 Jeff Johnston <jjohnstn@redhat.com>
...
* rs6000/Makefile.in: Add sim-times support. This file has been
moved from newlib/libc/machine/powerpc and renamed.
* rs6000/sim-times.c: New file.
2013-05-30 22:44:04 +00:00
Catherine Moore
ac1f751fef
2013-05-30 Paul Brook <paul@codesourcery.com>
...
bfd/
* bfd-in2.h: Regenerate.
* elf32-mips.c (elf_mips_eh_howto): New.
(bfd_elf32_bfd_reloc_type_lookup ): Support BFD_RELOC_MIPS_EH.
(bfd_elf32_bfd_reloc_name_lookup): Likewise.
(mips_elf32_rtype_to_howto): Support R_MIPS_EH.
* elf64-mips.c (elf_mips_eh_howto): New.
(bfd_elf64_bfd_reloc_type_lookup): Support BFD_RELOC_MIPS_EH.
(bfd_elf64_bfd_reloc_name_lookup): Likewise.
(mips_elf64_rtype_to_howto): Support R_MIPS_EH.
* libbfd.h: Regenerate.
* reloc.c (BFD_RELOC_MIPS_EH): New.
gas/
* config/tc-mips.c (md_apply_fix): Support BFD_RELOC_MIPS_EH.
include/elf
* mips.h (R_MIPS_EH): New.
2013-05-30 20:27:21 +00:00
Corinna Vinschen
a83263b981
* configure.in (--enable-newlib-nano-malloc): New option.
...
* configure: Regenerated.
* libc/configure.in (--enable-newlib-nano-malloc): New option.
* libc/configure: Regenerated.
* libc/stdlib/Makefile.am (NEWLIB_NANO_MALLOC): Use.
* libc/stdlib/Makefile.in: Regenerated.
* libc/stdlib/nano-mallocr.c: New file, implementing nano
version malloc family functions.
2013-05-29 12:37:59 +00:00
Yufeng Zhang
6b6cafe933
Correct the relocation names for R_AARCH64_TLSDESC_LD_PREL19 and R_AARCH64_TLSDESC_ADR_PAGE21.
2013-05-28 16:39:51 +00:00
Corinna Vinschen
b09e6ec935
* fhandler_procsys.cc (fhandler_procsys::read): Just call
...
fhandler_base::raw_read from here. Drop comment.
(fhandler_procsys::write): Drop comment.
2013-05-28 15:07:01 +00:00
Richard Earnshaw
ef05ad03f2
* libc/macine/arm/strcpy.S: Explicitly set build attributes when
...
building for thumb1 targets.
2013-05-28 12:43:48 +00:00
Corinna Vinschen
0dd70ae521
*** empty log message ***
2013-05-27 19:41:54 +00:00
Corinna Vinschen
27a21b38c0
* dll_init.cc (dll_list::topsort): Fix early-return condition to
...
accommodate process with all runtime loaded DLLs already dlclosed
at fork time.
* gendef (_sigfe_maybe): Fix code handling early return if we don't
have a tls, broken on 2013-05-21.
2013-05-27 19:31:04 +00:00
Corinna Vinschen
7e925d9ac1
*** empty log message ***
2013-05-25 09:00:43 +00:00
Corinna Vinschen
10ce3cd70a
* Makefile.in (DEFS): Unused, remove.
...
(COMPILE.cc): Move -mno-use-libstdc-wrappers flag from here...
($(TEST_DLL_NAME)): ...to here since it's a link time flag.
2013-05-24 21:12:16 +00:00
Corinna Vinschen
6184e6b9c8
* pinfo.cc (pinfo::status_exit): Enhance comment.
2013-05-24 13:43:26 +00:00
Corinna Vinschen
1a5dfe8ae0
* environ.cc (win_env::add_cache): Set the Windows environment variable
...
using wide chars to make sure native chars don't get scrambled.
* environ.h (build_env): Fix formatting in declaration.
* pinfo.cc (pinfo::status_exit): Handle STATUS_NO_MEMORY. Explain why.
2013-05-24 13:32:10 +00:00
Corinna Vinschen
592989d65c
* fork.cc (frok::parent): Always set CREATE_UNICODE_ENVIRONMENT flag.
...
Explain why.
2013-05-24 08:43:43 +00:00
Corinna Vinschen
61fb9713c6
* fork.cc (frok::parent): Call CreateProcessW with command line set
...
to the parent command line. Change comment to explain why.
2013-05-23 20:47:45 +00:00
Corinna Vinschen
c6696a3426
* dcrt0.cc (child_info_fork::alloc_stack_hard_way): Fix datatype of
...
stacksize to SIZE_T. Cast to SIZE_T in pointer arithmetic. Slightly
enhance output in case of a fatal error.
* fork.cc (frok::parent): Always set ch.stackaddr to DeallocationStack
value of current thread to help stack reservation in
child_info_fork::alloc_stack_hard_way along. Simplify subsequent code
storing stack values in ch. Print guardsize in hex, too.
2013-05-23 20:10:35 +00:00
Warren Young
df7a7e2e82
.
2013-05-23 19:03:19 +00:00