summaryrefslogtreecommitdiff
path: root/src/powerpc
Commit message (Collapse)AuthorAgeFilesLines
* 2014-09-10 Jakub Jelinek <jakub@redhat.com>Jakub Jelinek2014-09-203-4/+397
| | | | | | * src/powerpc/linux64.S: Emit .note.GNU-stack even when POWERPC64 is not defined. * src/powerpc/linux64_closure.S: Likewise. Also test _CALL_ELF == 2.
* Linux/ppc64: Remove assumption on contents of r11 in closureMarcus Comstedt2014-01-042-1/+6
|
* This separates the 32-bit sysv/linux/bsd code from the 64-bit linuxAlan Modra2013-11-219-1762/+2074
| | | | | | | | | | | | | | | | code, and makes it possible to link code compiled with different options to those used to compile libffi. For example, a -mlong-double-128 libffi can be used with -mlong-double-64 code. Using the return value area as a place to pass parameters wasn't such a good idea, causing a failure of cls_ulonglong.c. I didn't see this when running the mainline gcc libffi testsuite because that version of the test is inferior to the upstreamm libffi test. Using NUM_FPR_ARG_REGISTERS rather than NUM_FPR_ARG_REGISTERS64 meant that a parameter save area could be allocated before it was strictly necessary. Wrong but harmless. Found when splitting apart ffi.c into 32-bit and 64-bit support.
* Fix PowerPC Darwin FDE encodings to use pcrel correctly. Modernise the ↵Iain Sandoe2013-11-182-26/+16
| | | | picbase labels.
* An #endif in the wrong place would cause compile failure on powerpcle.Alan Modra2013-11-181-2/+2
| | | | | Using bl instead of b doesn't cause runtime failures as you might think, but does mess the processor branch prediction.
* Finally, this adds _CALL_ELF == 2 support. ELFv1 objects can't beAlan Modra2013-11-164-59/+476
| | | | | | | linked with ELFv2 objects, so this is one case where preprocessor tests in ffi.c are fine. Also, there is no need to define a new FFI_ELFv2 or somesuch value in enum ffi_abi. FFI_LINUX64 will happily serve both ABIs.
* Andreas' 2013-02-08 change reverted some breakage for struct returnAlan Modra2013-11-163-61/+46
| | | | | | | | | | | | | | | | | | | | | values from 2011-11-12, but in so doing reintroduced string instructions to sysv.S that are not supported on all powerpc variants. This patch properly copies the bounce buffer to destination in C code rather than in asm. I have tested this on powerpc64-linux, powerpc-linux and powerpc-freebsd. Well, the last on powerpc-linux by lying to configure with CC="gcc -m32 -msvr4-struct-return -mlong-double-64" \ CXX="g++ -m32 -msvr4-struct-return -mlong-double-64" \ /src/libffi-current/configure --build=powerpc-freebsd and then make && make CC="gcc -m32" CXX="g++ -m32" \ RUNTESTFLAGS=--target_board=unix/-m32/-msvr4-struct-return/-mlong-double-64\ check
* The powerpc64 ABIs align structs passed by value, a fact ignored byAlan Modra2013-11-161-0/+33
| | | | | | | | | | | gcc for quite some time. Since gcc now does the correct alignment, libffi needs to follow suit. This ought to be made selectable via a new abi value, and the #ifdefs removed from ffi.c along with many other #ifdefs present there and in assembly. I'll do that with a followup patch sometime. This is a revised version of https://sourceware.org/ml/libffi-discuss/2013/msg00162.html
* This patch prepares for ELFv2, where sizes of these areas change. ItAlan Modra2013-11-162-98/+102
| | | | also makes some minor changes to improve code efficiency.
* The powerpc64 support opted to pass floating point values both in theAlan Modra2013-11-162-45/+70
| | | | | | | | | | | | | fpr area and the parameter save area, necessary when the backend doesn't know if a function argument corresponds to the ellipsis arguments of a variadic function. This patch adds powerpc support for variadic functions, and changes the code to only pass fp in the ABI mandated area. ELFv2 needs this change since the parameter save area may not exist there. This also fixes two faulty tests that used a non-variadic function cast to call a variadic function, and spuriously reasoned that this is somehow necessary for static functions..
* Fix spelling errorsAnthony Green2013-10-083-3/+3
|
* little-endian ppc64 supportAnthony Green2013-07-023-3/+85
|
* Build fix for soft-float power targetsAnthony Green2013-03-161-1/+1
|
* Fix small struct passing on ppcAnthony Green2013-02-082-20/+47
|
* Fix many.c testcase for ppcAnthony Green2013-02-081-0/+6
|
* xlc compiler supportAnthony Green2013-01-112-10/+10
|
* fix build on ppc when long double == doublerofl0r2012-11-221-0/+2
|
* Rebase for ppc64 fixAnthony Green2012-10-312-4/+37
|
* Fix typo for darwin targetsAnthony Green2012-04-101-1/+1
|
* Repair ppc build regression.Anthony Green2012-04-031-7/+6
|
* More cygwin fixesAnthony Green2012-03-211-2/+2
|
* Rebase post GCC mergeAnthony Green2012-03-191-1/+3
|
* Ensure that users don't include ffitarget.h directlyAnthony Green2012-02-231-2/+8
|
* clean upAnthony Green2011-11-123-1670/+0
|
* Add powerpc soft float supportAnthony Green2011-11-127-263/+1980
|
* Remove use of ppc string instructionsAnthony Green2011-11-122-56/+47
|
* RebaseAnthony Green2011-11-121-3/+4
|
* Fix darwin EHAnthony Green2011-03-302-2/+2
|
* rc8. fix last patch.Anthony Green2011-02-251-1/+1
|
* rc7. More AIX fixes.Anthony Green2011-02-251-1/+1
|
* Fix ppc32 bugAnthony Green2011-02-251-1/+4
|
* Fix bad_abi test. rc5.Anthony Green2011-02-131-5/+8
|
* Fix xlc build on AIXAnthony Green2011-02-112-1/+7
|
* grammar fixAnthony Green2011-02-081-1/+1
|
* Refresh from GCCAnthony Green2011-02-084-347/+1181
|
* RebaseAnthony Green2010-11-2113-5355/+0
|
* define generic symbols carefullyAnthony Green2010-08-051-0/+6
|
* rebaseAnthony Green2010-07-121-1/+1
|
* Rebase to latest GCC sourcesAnthony Green2010-04-131-15/+15
|
* Remove warnings and add OS/2 supportAnthony Green2010-04-131-7/+7
|
* Rebase from GCCAnthony Green2010-01-121-1/+1
|
* Reset quilt patches post 3.0.9 merge with GCCAnthony Green2010-01-011-1/+1
|
* Final updates before 3.0.9Anthony Green2009-12-311-2/+0
|
* really 3.0.9rc12Anthony Green2009-12-291-18/+0
|
* 3.0.9rc12Anthony Green2009-12-296-40/+160
|
* Rebase from GCCAnthony Green2009-12-261-1/+1
|
* Add Andreas Schwab's powerpc fixAnthony Green2009-12-261-0/+4
|
* Release 3.0.9rc5Anthony Green2009-12-241-1/+1
|
* Update missing changes for 3.0.9r4.Anthony Green2009-12-249-541/+1284
|
* From Jens Rehsack. Fix for 64-bit AIX.Anthony Green2009-10-052-1/+14
|