Alan Modra
45965137be
Support R_PPC64_ADDR64_LOCAL
...
This adds support for "func@localentry", an expression that returns the
ELFv2 local entry point address of function "func". I've excluded
dynamic relocation support because that obviously would require glibc
changes.
include/elf/
* ppc64.h (R_PPC64_REL24_NOTOC, R_PPC64_ADDR64_LOCAL): Define.
bfd/
* elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry.
(ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL.
(ppc64_elf_check_relocs): Likewise.
(ppc64_elf_relocate_section): Likewise.
* Add BFD_RELOC_PPC64_ADDR64_LOCAL.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
gas/
* config/tc-ppc.c (ppc_elf_suffix): Support @localentry.
(md_apply_fix): Support R_PPC64_ADDR64_LOCAL.
ld/testsuite/
* ld-powerpc/elfv2-2a.s, ld-powerpc/elfv2-2b.s: New files.
* ld-powerpc/elfv2-2exe.d, ld-powerpc/elfv2-2so.d: New files.
* ld-powerpc/powerpc.exp: Run new test.
elfcpp/
* powerpc.h (R_PPC64_REL24_NOTOC, R_PPC64_ADDR64_LOCAL): Define.
gold/
* powerpc.cc (Target_powerpc::Scan::local, global): Support
R_PPC64_ADDR64_LOCAL.
(Target_powerpc::Relocate::relocate): Likewise.
2014-03-05 19:57:39 +10:30
..
2012-12-17 16:56:12 +00:00
2014-01-07 09:17:05 -07:00
2013-12-06 11:54:31 +01:00
2014-03-05 19:57:39 +10:30
2014-03-05 01:42:44 -05:00
2012-12-10 12:48:03 +00:00
2012-12-10 12:48:03 +00:00
2013-12-16 07:43:20 -08:00
2012-12-10 12:48:03 +00:00
2012-12-10 12:48:03 +00:00
2012-12-17 16:56:12 +00:00
[PATCH] include * ansidecl.h (ANSI_PROTOTYPES, PTRCONST, LONG_DOUBLE, PARAMS) (VPARAMS, VA_START, VA_OPEN, VA_CLOSE, VA_FIXEDARG, CONST) (VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, AND, DOTS) (NOARGS): Don't define. * libiberty.h (expandargv, writeargv): Don't use PARAMS. libiberty * _doprint.c (checkit): Use stdarg, not VA_* macros. * asprintf.c (asprintf): Use stdarg, not VA_* macros. * concat.c (concat_length, concat_copy, concat_copy2, concat) (reconcat): Use stdarg, not VA_* macros. * snprintf.c (snprintf): Use stdarg, not VA_* macros. * vasprintf.c (checkit): Use stdarg, not VA_* macros. * vsnprintf.c (checkit): Use stdarg, not VA_* macros.
2014-01-21 08:52:09 -07:00
2013-02-18 23:50:32 +00:00
2008-08-25 04:36:03 +00:00
2010-04-15 10:26:09 +00:00
[PATCH] include * ansidecl.h (ANSI_PROTOTYPES, PTRCONST, LONG_DOUBLE, PARAMS) (VPARAMS, VA_START, VA_OPEN, VA_CLOSE, VA_FIXEDARG, CONST) (VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, AND, DOTS) (NOARGS): Don't define. * libiberty.h (expandargv, writeargv): Don't use PARAMS. libiberty * _doprint.c (checkit): Use stdarg, not VA_* macros. * asprintf.c (asprintf): Use stdarg, not VA_* macros. * concat.c (concat_length, concat_copy, concat_copy2, concat) (reconcat): Use stdarg, not VA_* macros. * snprintf.c (snprintf): Use stdarg, not VA_* macros. * vasprintf.c (checkit): Use stdarg, not VA_* macros. * vsnprintf.c (checkit): Use stdarg, not VA_* macros.
2014-01-21 08:52:09 -07:00
2012-12-10 12:48:03 +00:00
2007-07-17 13:50:23 +00:00
2014-01-06 13:44:21 -05:00
2013-12-13 11:52:32 +00:00
2013-08-20 06:02:53 +00:00
2013-03-01 23:40:38 +00:00
2009-06-01 19:40:44 +00:00
2009-06-01 19:40:44 +00:00
2012-07-13 23:39:46 +00:00
2013-08-20 06:02:53 +00:00
2012-12-17 16:56:12 +00:00
2012-12-17 16:56:12 +00:00
2012-12-17 16:56:12 +00:00
2010-06-10 18:30:24 +00:00
2010-04-15 10:26:09 +00:00
2012-05-24 01:18:15 +00:00
[PATCH] include * ansidecl.h (ANSI_PROTOTYPES, PTRCONST, LONG_DOUBLE, PARAMS) (VPARAMS, VA_START, VA_OPEN, VA_CLOSE, VA_FIXEDARG, CONST) (VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, AND, DOTS) (NOARGS): Don't define. * libiberty.h (expandargv, writeargv): Don't use PARAMS. libiberty * _doprint.c (checkit): Use stdarg, not VA_* macros. * asprintf.c (asprintf): Use stdarg, not VA_* macros. * concat.c (concat_length, concat_copy, concat_copy2, concat) (reconcat): Use stdarg, not VA_* macros. * snprintf.c (snprintf): Use stdarg, not VA_* macros. * vasprintf.c (checkit): Use stdarg, not VA_* macros. * vsnprintf.c (checkit): Use stdarg, not VA_* macros.
2014-01-21 08:52:09 -07:00
2013-12-05 07:30:05 -07:00
2009-10-07 02:57:27 +00:00
2012-12-17 16:56:12 +00:00
2013-01-30 16:52:35 +00:00
2010-04-15 10:26:09 +00:00
2012-10-10 03:11:33 +00:00
2011-10-22 01:35:29 +00:00
2013-02-11 19:36:56 +00:00
2010-04-15 10:26:09 +00:00
2008-07-07 17:09:31 +00:00
2013-01-30 16:52:35 +00:00
2010-11-17 02:03:43 +00:00
2012-04-10 17:07:35 +00:00
2010-03-23 15:58:51 +00:00
2011-09-28 20:01:45 +00:00
2013-08-07 15:04:28 +00:00
2011-07-25 17:11:48 +00:00
2011-01-03 21:05:58 +00:00
2010-04-15 10:26:09 +00:00
2010-04-15 10:26:09 +00:00