Summary: The GNU gdb debugger Name: gdb Version: 7.9.1 Release: 5 Copyright: GPL Group: Development/Tools URL: http://www.gnu.org/software/gdb/ Source0: http://ftp.gnu.org/gnu/gdb/%{name}-%{version}.tar.gz Source1: README-gdb%{version}-%{release}.ppc.aix Source2: aix-demangle.h Patch0: gdb-%{version}-config_core.patch Patch1: gdb-%{version}-core.patch Patch2: gdb-%{version}-xcoffread_symtab.patch Patch3: gdb-%{version}-mmap.patch Patch4: gdb-%{version}-xlC-stabs.patch Patch5: gdb-%{version}-qfuncsect_psymtab.patch Patch6: gdb-%{version}-core_bmaxdata.patch Patch7: gdb-%{version}-sysroot.patch Patch8: gdb-%{version}-internal-error.patch Patch9: gdb-%{version}-backtrace.patch Patch10: gdb-%{version}-mem_exahust.patch Patch11: gdb-%{version}-large_binary_size_limit.patch Patch12: gdb-%{version}-xlc_cpp-demagle.patch Patch13: gdb-%{version}-hang_on_binary_sym.patch Patch14: gdb-%{version}-stack_size.patch Patch15: gdb-%{version}-sighandler.patch Patch16: gdb-%{version}-traceback_table.patch Prefix: %{_prefix} #BuildRequires: bzip2 BuildRoot: %{_tmppath}/%{name}-root Prereq: /sbin/install-info Requires: AIX-rpm >= 5.1.0.0 Requires: expat >= 2.0.1-2 %define DEFCC cc %description GNU gdb is the standard GNU program debugger. %prep %setup -q %patch0 -p1 -b .config-core %patch1 -p1 -b .enable-core %patch2 -p1 -b .xcoffread %patch3 -p1 -b .mmap %patch4 -p1 -b .stabs %patch5 -p1 -b .qfunc %patch6 -p1 -b .bmax %patch7 -p1 -b .sysroot %patch8 -p1 -b .internal_error %patch9 -p1 -b .backtrace %patch10 -p1 -b .mem_exahust %patch11 -p1 -b .large_binary_size_limit %patch12 -p1 -b .xlc_cpp-demagle %patch13 -p1 -b .hang %patch14 -p1 -b .stacksize %patch15 -p1 -b .sighandler %patch16 -p1 -b .traceback_table cp /opt/freeware/src/packages/SOURCES/aix-demangle.h ./include %build # Use the default compiler for this platform - gcc otherwise #if [[ -z "$CC" ]] #then # if test "X`type %{DEFCC} 2>/dev/null`" != 'X'; then # export CC=%{DEFCC} # else # export CC=gcc # fi #fi if [[ "$CC" != "gcc" ]] then export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's:-fsigned-char::'` fi export CC=gcc export CXX=g++ export OBJECT_MODE=64 export CFLAGS="-maix64 -D_LARGE_FILES" #export CFLAGS="-maix64 -D_LARGE_FILES -g" #export LDFLAGS="-L/opt/freeware/lib -blibpath:/opt/freeware/lib:/usr/lib:/lib" #export LDFLAGS="-lC" #export LDFLAGS="-L/usr/lib -L/usr/lpp/xlC/lib -L/usr/linux/lib -L/opt/freeware/lib -blibpath:/usr/lib:/lib:/usr/lpp/xlC/lib:/usr/linux/lib:/opt/freeware/lib: -lC" #export LDFLAGS="-L/usr/lib -L/opt/freeware/lib -blibpath:/usr/lib:/lib:/opt/freeware/lib: -ldemangle" export LDFLAGS="-ldemangle" #export AR_FOR_TARGET="/usr/bin/ar -X64" ./configure --prefix=%{_prefix} \ --infodir=%{_infodir} \ --mandir=%{_mandir} \ --disable-werror \ --enable-sim \ --target=powerpc64-ibm-aix6.1.2.0 \ --build=powerpc64-ibm-aix6.1.2.0 gmake %{?_smp_mflags} cp ${RPM_SOURCE_DIR}/README-gdb%{version}-%{release}.ppc.aix README-gdb%{version}-%{release}.ppc.aix %install rm -rf $RPM_BUILD_ROOT gmake DESTDIR=${RPM_BUILD_ROOT} install mkdir -p ${RPM_BUILD_ROOT}/usr/linux/lib #cp /usr/lib/libC.a ${RPM_BUILD_ROOT}/usr/linux/lib/libC.a_bak #cp /usr/lib/libC.a ${RPM_BUILD_ROOT}/usr/linux/lib/libC.a # Strip all of the executables /usr/bin/strip ${RPM_BUILD_ROOT}%{prefix}/bin/* 2>/dev/null || : # compress the info files gzip -9fn ${RPM_BUILD_ROOT}%{_infodir}/* # install the gcore script in /usr/bin #cp ./gdb/gdb_gcore.sh ${RPM_BUILD_ROOT}%{prefix}/bin/gcore #chmod 755 ${RPM_BUILD_ROOT}%{prefix}/bin/gcore # Create links into /usr/bin and /usr/linux/bin. ( cd $RPM_BUILD_ROOT mkdir -p usr/bin cd usr/bin ln -sf ../..%{prefix}/bin/* . ) %clean rm -rf $RPM_BUILD_ROOT %post /sbin/install-info %{_infodir}/annotate.info.gz %{_infodir}/dir /sbin/install-info %{_infodir}/bfd.info.gz %{_infodir}/dir /sbin/install-info %{_infodir}/gdb.info.gz %{_prefix}/dir /sbin/install-info %{_infodir}/stabs.info.gz %{_prefix}/dir #mv /usr/linux/lib/libC.a_bak /usr/linux/lib/libC.a %preun #mv /usr/linux/lib/libC.a /usr/linux/lib/libC.a_bak %postun if [ $1 = 0 ] ; then /sbin/install-info --delete %{_infodir}/annotate.info.gz %{_infodir}/dir /sbin/install-info --delete %{_infodir}/bfd.info.gz %{_infodir}/dir /sbin/install-info --delete %{_infodir}/gdb.info.gz %{_prefix}/dir /sbin/install-info --delete %{_infodir}/stabs.info.gz %{_prefix}/dir fi %files %defattr(-,bin,bin) %doc COPYING COPYING.LIB README README-gdb%{version}-%{release}.ppc.aix %{_mandir}/man1/* %{_mandir}/man5/* %{prefix}/bin/* #/usr/linux/lib/libC.a_bak #/usr/linux/lib/libC.a %{_infodir}/annotate.info.gz %{_infodir}/gdb* %{_infodir}/bfd* %{_infodir}/stabs.info.gz /usr/bin/* %changelog * Thu Apr 09 2016 Sangamesh Mallayya 7.9.1-4 - Add fix to read stack size larger than int limit. - Add fix to read signal hanlder frame during core analysis. - Add temporary fix for hang when gdb tries to look for binary_function symbol. * Thu Feb 11 2016 Sangamesh Mallayya 7.9.1-3 - Add multiple fixes. - Prevent core dumping in case of unrecognized xlc++ stab symbols V & m. - Do not skip the xlc++ symbols which start with $_. - Add a support to read the very large binary of size around 5GB. - Use xlc++ demangling API for C++ functions. - Displaying the entire stack traces for the binaries where stwu instruction to update - the stack frame wasn't being read by gdb. - Prevent GDB internal error. * Thu Dec 18 2015 Sangamesh Mallayya 7.9.1-2 - Rewrite a sysroot path to recognise .so files. * Thu Nov 26 2015 Sangamesh Mallayya 7.9.1-2 - Add a fix to recognise sysroot path. * Thu Oct 29 2015 Sangamesh Mallayya 7.9.1-1 - Update to 7.9.1. Apply the patches which didn't make it to the community yet. * Fri Dec 6 2013 Raunaq Bathija 7.5-7 - Add support for debugging core files generated by binaries in Large Memory model. * Mon Oct 28 2013 Raunaq Bathija 7.5-6 - Improve xlC++ stabstring support. - Add Fix to correctly read psymtab in case of xlc -qfuncsecct compiled binaries. - Include README file specific to AIX related changes in the doc section. * Wed Aug 14 2013 Raunaq Bathija 7.5-5 - Add partial xlC++ stabstring support to recognize c++ data types better. * Wed Jul 3 2013 Raunaq Bathija 7.5-4 - Modify aix-thread and inf-ptrace patch to remove multiple #ifdef - Add mmap command to gdb * Wed Apr 3 2013 Raunaq Bathija 7.5-3 - Remove changes from generic files and make equivalent changes in AIX specific files. * Mon Feb 18 2013 Raunaq Bathija 7.5-2 - Modify the fix for setting breakpoints (mentioned initially in 7.5-1) - Add fix for proper listing of functions in an xlc compiled object. * Wed Jan 16 2013 Raunaq Bathija 7.5-1 - Update gdb version to 7.5 - Modify the fix for stopping at first executable statement of functions. - Add a fix for setting breakpoints properly instead of multiple entries. * Tue Jun 26 2012 Sangamesh Mallayya 7.3-5 - Skip reading @FIX entries * Wed Mar 14 2012 Sangamesh Mallayya 7.3-4 - Add a fix for filename issue. If -qfuncsect compiler option is - used then gdb is displays filename as _start_. - Add a fix for proper address relocation for core dump. * Mon Feb 06 2012 Sangamesh Mallayya 7.3-3 - Add fix for stopping at first executable statement of a functions. * Thu Dec 01 2011 Sangamesh Mallayya 7.3-2 - Add fix for Internal Error issue in case of -qfuncsect xlc option. * Fri Nov 11 2011 Sangamesh Mallayya 7.3-1 - Build 64-bit version (alpha) * Thu Sep 23 2004 David Clissold 6.0-1 - Initial version, adopted from old GNUPro.spec (which included an older gdb).