On 25.09.2015 20:59, David Edelsohn wrote:
This version adds extra tests for HAVE_XCOFF_DWARF_EXTRAS. I placed
the default in dwarf2out.c instead of defaults.h.
Because eh_frame is internal to GCC with its own section, I emit the
length, but inhibit the length for AIX debug_frame section.
This allows DWARF debugging to work on older AIX 7.1 systems within
the limitations of the available sections. It also allows it to build
and test on a wider variety of AIX 7.1 systems.
I also changed the TLS decorations to use a switch statement, as suggested.
Thanks, David
* dwarf2out.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
(HAVE_XCOFF_DWARF_EXTRAS): Default to 0 definition.
(output_fde): Don't output length for debug_frame on AIX.
(output_call_frame_info): Don't output length for debug_frame on AIX.
(have_macinfo): Force to False for XCOFF_DEBUGGING_INFO and not
HAVE_XCOFF_DWARF_EXTRAS.
(add_AT_loc_list): Return early if XCOFF_DEBUGGING_INFO and not
HAVE_XCOFF_DWARF_EXTRAS.
(output_compilation_unit_header): Don't output length on AIX.
(output_pubnames): Don't output length on AIX.
(output_aranges): Delete argument. Compute length locally. Don't
output length on AIX.
(output_line_info): Don't output length on AIX.
(dwarf2out_finish): Don't compute aranges_length.
* dwarf2asm.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
(dw2_asm_output_nstring): Emit .byte not .ascii on AIX.
* config/rs6000/rs6000.c (rs6000_output_dwrf_dtprel): Emit correct
symbol decoration for AIX.
(rs6000_xcoff_debug_unwind_info): New.
(rs6000_xcoff_asm_named_section): Emit .dwsect pseudo-op
for SECTION_DEBUG.
(rs6000_xcoff_declare_function_name): Emit different
.function pseudo-op when DWARF2_DEBUG. Don't call
xcoffout_declare_function for DWARF2_DEBUG.
* config/rs6000/xcoff.h (TARGET_DEBUG_UNWIND_INFO):
Redefine.
* config/rs6000/aix71.h (DWARF2_DEBUGGING_INFO): Define.
(PREFERRED_DEBUGGING_TYPE): Define.
(DEBUG_INFO_SECTION): Define.
(DEBUG_ABBREV_SECTION): Define.
(DEBUG_ARANGES_SECTION): Define.
(DEBUG_LINE_SECTION): Define.
(DEBUG_PUBNAMES_SECTION): Define.
(DEBUG_PUBTYPES_SECTION): Define.
(DEBUG_STR_SECTION): Define.
(DEBUG_RANGES_SECTION): Define.
I see a build failure on powerpc64le-linux-gnu:
/home/doko/gcc/gcc-snapshot-20150929/src/gcc/configure: line 26465: syntax error
near unexpected token `$target'
/home/doko/gcc/gcc-snapshot-20150929/src/gcc/configure: line 26465: ` case
$target in'
Makefile:4165: recipe for target 'configure-stage1-gcc' failed
make[4]: *** [configure-stage1-gcc] Error 2
make[4]: Leaving directory '/home/doko/gcc/gcc-snapshot-20150929/build'
$ bash -n src/gcc/configure
src/gcc/configure: line 26465: syntax error near unexpected token `$target'
src/gcc/configure: line 26465: ` case $target in'
The above ChangeLog entry doesn't mention the patch to configure.ac and the
regeneration of configure, but it is included in the commit message. It looks
like that gcc/configure was manually fixed without fixing gcc/configure.ac.
Committing as obvious (although I see some whitespace changes with an unmodified
autoconf2.64 downloaded from ftp.gnu.org).
Matthias
gcc/
2015-09-30 Matthias Klose <d...@ubuntu.com>
* configure.ac: Remove extraneous ;;.
* configure: Regenerate.
Index: configure.ac
===================================================================
--- configure.ac (revision 228280)
+++ configure.ac (working copy)
@@ -4326,7 +4326,6 @@
[Define if your assembler supports .ref])])
;;
esac
- ;;
case $target in
*-*-aix*)