Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 2014-09-10 Jakub Jelinek <jakub@redhat.com> | Jakub Jelinek | 2014-09-20 | 3 | -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 closure | Marcus Comstedt | 2014-01-04 | 2 | -1/+6 |
| | |||||
* | This separates the 32-bit sysv/linux/bsd code from the 64-bit linux | Alan Modra | 2013-11-21 | 9 | -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 Sandoe | 2013-11-18 | 2 | -26/+16 |
| | | | | picbase labels. | ||||
* | An #endif in the wrong place would cause compile failure on powerpcle. | Alan Modra | 2013-11-18 | 1 | -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 be | Alan Modra | 2013-11-16 | 4 | -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 return | Alan Modra | 2013-11-16 | 3 | -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 by | Alan Modra | 2013-11-16 | 1 | -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. It | Alan Modra | 2013-11-16 | 2 | -98/+102 |
| | | | | also makes some minor changes to improve code efficiency. | ||||
* | The powerpc64 support opted to pass floating point values both in the | Alan Modra | 2013-11-16 | 2 | -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 errors | Anthony Green | 2013-10-08 | 3 | -3/+3 |
| | |||||
* | little-endian ppc64 support | Anthony Green | 2013-07-02 | 3 | -3/+85 |
| | |||||
* | Build fix for soft-float power targets | Anthony Green | 2013-03-16 | 1 | -1/+1 |
| | |||||
* | Fix small struct passing on ppc | Anthony Green | 2013-02-08 | 2 | -20/+47 |
| | |||||
* | Fix many.c testcase for ppc | Anthony Green | 2013-02-08 | 1 | -0/+6 |
| | |||||
* | xlc compiler support | Anthony Green | 2013-01-11 | 2 | -10/+10 |
| | |||||
* | fix build on ppc when long double == double | rofl0r | 2012-11-22 | 1 | -0/+2 |
| | |||||
* | Rebase for ppc64 fix | Anthony Green | 2012-10-31 | 2 | -4/+37 |
| | |||||
* | Fix typo for darwin targets | Anthony Green | 2012-04-10 | 1 | -1/+1 |
| | |||||
* | Repair ppc build regression. | Anthony Green | 2012-04-03 | 1 | -7/+6 |
| | |||||
* | More cygwin fixes | Anthony Green | 2012-03-21 | 1 | -2/+2 |
| | |||||
* | Rebase post GCC merge | Anthony Green | 2012-03-19 | 1 | -1/+3 |
| | |||||
* | Ensure that users don't include ffitarget.h directly | Anthony Green | 2012-02-23 | 1 | -2/+8 |
| | |||||
* | clean up | Anthony Green | 2011-11-12 | 3 | -1670/+0 |
| | |||||
* | Add powerpc soft float support | Anthony Green | 2011-11-12 | 7 | -263/+1980 |
| | |||||
* | Remove use of ppc string instructions | Anthony Green | 2011-11-12 | 2 | -56/+47 |
| | |||||
* | Rebase | Anthony Green | 2011-11-12 | 1 | -3/+4 |
| | |||||
* | Fix darwin EH | Anthony Green | 2011-03-30 | 2 | -2/+2 |
| | |||||
* | rc8. fix last patch. | Anthony Green | 2011-02-25 | 1 | -1/+1 |
| | |||||
* | rc7. More AIX fixes. | Anthony Green | 2011-02-25 | 1 | -1/+1 |
| | |||||
* | Fix ppc32 bug | Anthony Green | 2011-02-25 | 1 | -1/+4 |
| | |||||
* | Fix bad_abi test. rc5. | Anthony Green | 2011-02-13 | 1 | -5/+8 |
| | |||||
* | Fix xlc build on AIX | Anthony Green | 2011-02-11 | 2 | -1/+7 |
| | |||||
* | grammar fix | Anthony Green | 2011-02-08 | 1 | -1/+1 |
| | |||||
* | Refresh from GCC | Anthony Green | 2011-02-08 | 4 | -347/+1181 |
| | |||||
* | Rebase | Anthony Green | 2010-11-21 | 13 | -5355/+0 |
| | |||||
* | define generic symbols carefully | Anthony Green | 2010-08-05 | 1 | -0/+6 |
| | |||||
* | rebase | Anthony Green | 2010-07-12 | 1 | -1/+1 |
| | |||||
* | Rebase to latest GCC sources | Anthony Green | 2010-04-13 | 1 | -15/+15 |
| | |||||
* | Remove warnings and add OS/2 support | Anthony Green | 2010-04-13 | 1 | -7/+7 |
| | |||||
* | Rebase from GCC | Anthony Green | 2010-01-12 | 1 | -1/+1 |
| | |||||
* | Reset quilt patches post 3.0.9 merge with GCC | Anthony Green | 2010-01-01 | 1 | -1/+1 |
| | |||||
* | Final updates before 3.0.9 | Anthony Green | 2009-12-31 | 1 | -2/+0 |
| | |||||
* | really 3.0.9rc12 | Anthony Green | 2009-12-29 | 1 | -18/+0 |
| | |||||
* | 3.0.9rc12 | Anthony Green | 2009-12-29 | 6 | -40/+160 |
| | |||||
* | Rebase from GCC | Anthony Green | 2009-12-26 | 1 | -1/+1 |
| | |||||
* | Add Andreas Schwab's powerpc fix | Anthony Green | 2009-12-26 | 1 | -0/+4 |
| | |||||
* | Release 3.0.9rc5 | Anthony Green | 2009-12-24 | 1 | -1/+1 |
| | |||||
* | Update missing changes for 3.0.9r4. | Anthony Green | 2009-12-24 | 9 | -541/+1284 |
| | |||||
* | From Jens Rehsack. Fix for 64-bit AIX. | Anthony Green | 2009-10-05 | 2 | -1/+14 |
| |