Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2:Test
gdb
gdb.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gdb.spec of Package gdb
# # spec file for package gdb (Version 6.8.91.20090930) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Summary: A GNU source-level debugger for C, C++, Java and other languages Name: gdb # Set version to contents of gdb/version.in. # NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3 # and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch). Version: 6.8.91.20090930 Release: 1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. License: GPLv3+ Group: Development/Debuggers Source: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build Url: http://gnu.org/software/gdb/ # For our convenience %define gdb_src gdb-%{version} %define gdb_build build-%{_target_platform} %if 0%{?_with_debug:1} # Define this if you want to skip the strip step and preserve debug info. # Useful for testing. %define __debug_install_post : > %{_builddir}/%{?buildsubdir}/debugfiles.list %define debug_package %{nil} %endif # Make sure we get rid of the old package gdb64, now that we have unified # support for 32-64 bits in one single 64-bit gdb. %ifarch ppc64 Obsoletes: gdb64 < 5.3.91 %endif # GDB patches have the format `gdb-<version>-bz<red-hat-bz-#>-<desc>.patch'. # They should be created using patch level 1: diff -up ./gdb (or gdb-6.3/gdb). # Cleanup any leftover testsuite processes as it may stuck mock(1) builds. Source2: gdb-orphanripper.c # Man page for gstack(1). Source3: gdb-gstack.man # libstdc++ pretty printers from GCC SVN HEAD (4.5 experimental). %define libstdcxxpython libstdc++-v3-python-r151798 Source4: %{libstdcxxpython}.tar.bz2 # Work around out-of-date dejagnu that does not have KFAIL Patch1: gdb-6.3-rh-dummykfail-20041202.patch # Match the Fedora's version info. Patch2: gdb-6.3-rh-testversion-20041202.patch # Check that libunwind works - new test then fix Patch3: gdb-6.3-rh-testlibunwind-20041202.patch # Use convert_from_func_ptr_addr on the solib breakpoint address; # simplifies and makes more consistent the logic. Patch104: gdb-6.3-ppcdotsolib-20041022.patch # Better parse 64-bit PPC system call prologues. Patch105: gdb-6.3-ppc64syscall-20040622.patch # Stop a backtrace when a zero PC is encountered. Patch106: gdb-6.3-framepczero-20040927.patch # Include the pc's section when doing a symbol lookup so that the # correct symbol is found. Patch111: gdb-6.3-ppc64displaysymbol-20041124.patch # Fix upstream `set scheduler-locking step' vs. upstream PPC atomic seqs. Patch112: gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch # Make upstream `set scheduler-locking step' as default. Patch260: gdb-6.6-scheduler_locking-step-is-default.patch # Add a wrapper script to GDB that implements pstack using the # --readnever option. Patch118: gdb-6.3-gstack-20050411.patch # VSYSCALL and PIE Patch122: gdb-6.3-test-pie-20050107.patch Patch124: gdb-6.3-pie-20050110.patch # Get selftest working with sep-debug-info Patch125: gdb-6.3-test-self-20050110.patch # Fix for non-threaded watchpoints. Patch128: gdb-6.3-nonthreaded-wp-20050117.patch # Test support of multiple destructors just like multiple constructors Patch133: gdb-6.3-test-dtorfix-20050121.patch # Fix to support executable moving Patch136: gdb-6.3-test-movedir-20050125.patch # Fix gcore for threads Patch140: gdb-6.3-gcore-thread-20050204.patch # Stop while intentionally stepping and the thread exit is met. Patch141: gdb-6.6-step-thread-exit.patch Patch259: gdb-6.3-step-thread-exit-20050211-test.patch # Prevent gdb from being pushed into background Patch142: gdb-6.3-terminal-fix-20050214.patch # Test sibling threads to set threaded watchpoints for x86 and x86-64 Patch145: gdb-6.3-threaded-watchpoints2-20050225.patch # Fix printing of inherited members Patch148: gdb-6.3-inheritance-20050324.patch # Print a warning when the separate debug info's CRC doesn't match. Patch150: gdb-6.3-test-sepcrc-20050402.patch Patch151: gdb-6.3-sepcrc-20050402.patch # Do not issue warning message about first page of storage for ia64 gcore Patch153: gdb-6.3-ia64-gcore-page0-20050421.patch # Security errata for untrusted .gdbinit Patch157: gdb-6.3-security-errata-20050610.patch # IA64 sigtramp prev register patch Patch158: gdb-6.3-ia64-sigtramp-frame-20050708.patch # IA64 gcore speed-up patch Patch160: gdb-6.3-ia64-gcore-speedup-20050714.patch # Notify observers that the inferior has been created Patch161: gdb-6.3-inferior-notification-20050721.patch # Fix ia64 info frame bug Patch162: gdb-6.3-ia64-info-frame-fix-20050725.patch # Verify printing of inherited members test Patch163: gdb-6.3-inheritancetest-20050726.patch # Add readnever option Patch164: gdb-6.3-readnever-20050907.patch # Fix ia64 gdb problem with user-specified SIGILL handling Patch169: gdb-6.3-ia64-sigill-20051115.patch # Allow option to continue backtracing past a zero pc value Patch170: gdb-6.3-bt-past-zero-20051201.patch # Use bigger numbers than int. Patch176: gdb-6.3-large-core-20051206.patch # Hard-code executable names in gstack, such that it can run with a # corrupted or missing PATH. Patch177: gdb-6.3-gstack-without-path-20060414.patch # Fix debuginfo addresses resolving for --emit-relocs Linux kernels (BZ 203661). Patch188: gdb-6.5-bz203661-emit-relocs.patch # Security patch: avoid stack overflows in dwarf expression computation. # CVE-2006-4146 Patch190: gdb-6.5-dwarf-stack-overflow.patch # Support TLS symbols (+`errno' suggestion if no pthread is found) (BZ 185337). Patch194: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch # Fix TLS symbols resolving for objects with separate .debug file (-debuginfo). Patch195: gdb-6.5-tls-of-separate-debuginfo.patch # Fix TLS symbols resolving for shared libraries with a relative pathname. # The testsuite needs `gdb-6.5-tls-of-separate-debuginfo.patch'. Patch196: gdb-6.5-sharedlibrary-path.patch # Suggest fixing your target architecture for gdbserver(1) (BZ 190810). # FIXME: It could be autodetected. Patch199: gdb-6.5-bz190810-gdbserver-arch-advice.patch # Fix `gcore' command for 32bit inferiors on 64bit hosts. Patch201: gdb-6.5-gcore-i386-on-amd64.patch # Testcase for deadlocking on last address space byte; for corrupted backtraces. Patch211: gdb-6.5-last-address-space-byte-test.patch # Improved testsuite results by the testsuite provided by the courtesy of BEA. Patch208: gdb-6.5-BEA-testsuite.patch # Fix readline segfault on excessively long hand-typed lines. Patch209: gdb-6.5-readline-long-line-crash.patch Patch213: gdb-6.5-readline-long-line-crash-test.patch # Fix bogus 0x0 unwind of the thread's topmost function clone(3) (BZ 216711). Patch214: gdb-6.5-bz216711-clone-is-outermost.patch # Try to reduce sideeffects of skipping ppc .so libs trampolines (BZ 218379). Patch215: gdb-6.5-bz218379-ppc-solib-trampoline-fix.patch Patch216: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch # Fix lockup on trampoline vs. its function lookup; unreproducible (BZ 218379). Patch217: gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch # Find symbols properly at their original (included) file (BZ 109921). Patch225: gdb-6.5-bz109921-DW_AT_decl_file-test.patch # Update PPC unwinding patches to their upstream variants (BZ 140532). Patch229: gdb-6.3-bz140532-ppc-unwinding-test.patch # Testcase for exec() from threaded program (BZ 202689). Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch # Backported post gdb-6.8.50.20090991 snapshot fixups. #Patch232: gdb-6.8.50.20090921-upstream.patch # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000). Patch234: gdb-6.6-bz230000-power6-disassembly-test.patch # Temporary support for shared libraries >2GB on 64bit hosts. (BZ 231832) Patch235: gdb-6.3-bz231832-obstack-2gb.patch # Fix prelink(8) testcase for non-root $PATH missing `/usr/sbin' (BZ 225783). Patch240: gdb-6.6-bz225783-prelink-path.patch # Fix debugging GDB itself - the compiled in source files paths (BZ 225783). Patch241: gdb-6.6-bz225783-gdb-debuginfo-paths.patch # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). Patch245: gdb-6.6-bz229517-gcore-without-terminal.patch # Notify user of a child forked process being detached (BZ 235197). Patch247: gdb-6.6-bz235197-fork-detach-info.patch # New testcase for gcore of 32bit inferiors on 64bit hosts. Patch249: gdb-6.6-gcore32-test.patch # Avoid too long timeouts on failing cases of "annota1.exp annota3.exp". Patch254: gdb-6.6-testsuite-timeouts.patch # Support for stepping over PPC atomic instruction sequences (BZ 237572). Patch258: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch # Link with libreadline provided by the operating system. Patch261: gdb-6.6-readline-system.patch # Test kernel VDSO decoding while attaching to an i386 process. Patch263: gdb-6.3-attach-see-vdso-test.patch # Do not hang on exit of a thread group leader (BZ 247354). Patch265: gdb-6.6-bz247354-leader-exit-fix.patch Patch266: gdb-6.6-bz247354-leader-exit-test.patch # Test leftover zombie process (BZ 243845). Patch271: gdb-6.5-bz243845-stale-testing-zombie-test.patch # New locating of the matching binaries from the pure core file (build-id). Patch274: gdb-6.6-buildid-locate.patch Patch353: gdb-6.6-buildid-locate-rpm.patch # Fix displaying of numeric char arrays as strings (BZ 224128). Patch282: gdb-6.7-charsign-test.patch # Test PPC hiding of call-volatile parameter register. Patch284: gdb-6.7-ppc-clobbered-registers-O2-test.patch # Testsuite fixes for more stable/comparable results. Patch287: gdb-6.7-testsuite-stable-results.patch # Test ia64 memory leaks of the code using libunwind. Patch289: gdb-6.5-ia64-libunwind-leak-test.patch # Test hiding unexpected breakpoints on intentional step commands. Patch290: gdb-6.5-missed-trap-on-step-test.patch # Support DW_TAG_interface_type the same way as DW_TAG_class_type (BZ 426600). Patch293: gdb-6.7-bz426600-DW_TAG_interface_type-fix.patch Patch294: gdb-6.7-bz426600-DW_TAG_interface_type-test.patch # Test gcore memory and time requirements for large inferiors. Patch296: gdb-6.5-gcore-buffer-limit-test.patch # Test debugging statically linked threaded inferiors (BZ 239652). # - It requires recent glibc to work in this case properly. Patch298: gdb-6.6-threads-static-test.patch # Fix #include <asm/ptrace.h> on kernel-headers-2.6.25-0.40.rc1.git2.fc9.x86_64. Patch304: gdb-6.7-kernel-headers-compat.patch # Test GCORE for shmid 0 shared memory mappings. Patch309: gdb-6.3-mapping-zero-inode-test.patch # Test a crash on `focus cmd', `focus prev' commands. Patch311: gdb-6.3-focus-cmd-prev-test.patch # Test crash on a sw watchpoint condition getting out of the scope. Patch314: gdb-6.3-watchpoint-cond-gone-test.patch # Test various forms of threads tracking across exec() (BZ 442765). Patch315: gdb-6.8-bz442765-threaded-exec-test.patch # Silence memcpy check which returns false positive (sparc64) Patch317: gdb-6.8-sparc64-silence-memcpy-check.patch # Fix memory trashing on binaries from GCC Ada (workaround GCC PR 35998). Patch318: gdb-6.8-gcc35998-ada-memory-trash.patch # Test a crash on libraries missing the .text section. Patch320: gdb-6.5-section-num-fixup-test.patch # Refuse creating watchpoints of an address value, suggested by Martin Stransky. Patch322: gdb-6.8-constant-watchpoints.patch # Fix compatibility with recent glibc headers. Patch324: gdb-6.8-glibc-headers-compat.patch # Create a single binary `gdb' autodetecting --tui by its argv[0]. Patch326: gdb-6.8-tui-singlebinary.patch # Support transparent debugging of inlined functions for an optimized code. Patch350: gdb-6.8-inlining-addon.patch Patch328: gdb-6.8-inlining-by-name.patch # Fix PRPSINFO in the core files dumped by gcore (BZ 254229). Patch329: gdb-6.8-bz254229-gcore-prpsinfo.patch # Fix register assignments with no GDB stack frames (BZ 436037). Patch330: gdb-6.8-bz436037-reg-no-longer-active.patch # Make the GDB quit processing non-abortable to cleanup everything properly. Patch331: gdb-6.8-quit-never-aborts.patch # Support DW_TAG_constant for Fortran in recent Fedora/RH GCCs. Patch332: gdb-6.8-fortran-tag-constant.patch # Fix attaching to stopped processes and/or pending signals. Patch337: gdb-6.8-attach-signalled-detach-stopped.patch # Test the watchpoints conditionals works. Patch343: gdb-6.8-watchpoint-conditionals-test.patch # Fix resolving of variables at locations lists in prelinked libs (BZ 466901). Patch348: gdb-6.8-bz466901-backtrace-full-prelinked.patch # The merged branch `archer' of: http://sourceware.org/gdb/wiki/ProjectArcher Patch349: gdb-archer.patch # Fix parsing elf64-i386 files for kdump PAE vmcore dumps (BZ 457187). # - Turn on 64-bit BFD support, globally enable AC_SYS_LARGEFILE. Patch352: gdb-6.8-bz457187-largefile.patch Patch360: gdb-6.8-bz457187-largefile-test.patch # Fix compatibility of --with-system-readline and readline-6.0+. Patch375: gdb-readline-6.0.patch # Fix python pretty printers lookup on x86_64. Patch376: libstdc++-v3-python-common-prefix.patch # New test for step-resume breakpoint placed in multiple threads at once. Patch381: gdb-simultaneous-step-resume-breakpoint-test.patch # Fix readline 5.1 warnings Patch1000: readline-5.1-random.patch Patch1002: gdb-6.6-buildid-locate-rpm-suse.patch Patch1007: fix-gdb-backtrace.diff BuildRequires: bison flex gettext glibc-devel ncurses-devel texinfo zlib-devel %if %{suse_version} < 1020 BuildRequires: expat %else BuildRequires: libexpat-devel %endif BuildRequires: readline-devel # dlopen() no longer makes rpm-libs a mandatory dependency. #Requires: rpm-libs BuildRequires: rpm-devel %if 0%{!?_without_python:1} BuildRequires: python-devel # Temporarily before it gets moved to libstdc++.rpm BuildRequires: libstdc++ %endif # 0%{!?_without_python:1} %if 0%{?_with_testsuite:1} BuildRequires: dejagnu sharutils # gcc-objc++ is not covered by the GDB testsuite. BuildRequires: gcc gcc-c++ gcc-gfortran gcc-java gcc-objc # Ensure the devel libraries are installed for both multilib arches. %define multilib_64_archs sparc64 ppc64 s390x x86_64 # Copied from gcc-4.1.2-32 %ifarch %{ix86} x86_64 ia64 ppc alpha BuildRequires: gcc-ada %ifarch %{multilib_64_archs} ppc BuildRequires: %{_exec_prefix}/lib/libgnat-4.4.so %{_exec_prefix}/lib64/libgnat-4.4.so %endif %endif %ifarch %{multilib_64_archs} sparc sparcv9 ppc BuildRequires: %{_exec_prefix}/lib/libc.so %{_exec_prefix}/lib64/libc.so /lib/libc.so.6 /lib64/libc.so.6 BuildRequires: /lib/libgcc_s.so.1 /lib64/libgcc_s.so.1 BuildRequires: %{_exec_prefix}/lib/libstdc++.so.6 %{_exec_prefix}/lib64/libstdc++.so.6 BuildRequires: %{_exec_prefix}/lib/libgcj.so.10 %{_exec_prefix}/lib64/libgcj.so.10 %endif %endif %ifarch ia64 BuildRequires: libunwind-devel Requires: libunwind %endif PreReq: %install_info_prereq %description GDB, the GNU debugger, allows you to debug programs written in C, C++, Java, and other languages, by executing them in a controlled fashion and printing their data. %package -n gdbserver License: GPLv3+ Summary: A standalone server for GDB (the GNU source-level debugger) Group: Development/Debuggers %description -n gdbserver GDB, the GNU debugger, allows you to debug programs written in C, C++, Java, and other languages, by executing them in a controlled fashion and printing their data. This package provides a program that allows you to run GDB on a different machine than the one which is running the program being debugged. %prep # This allows the tarball name to be different from our # version-release name. %setup -q -n %{gdb_src} # libstdc++ pretty printers. bzip2 -dc %{SOURCE4} | tar xf - # Files have `# <number> <file>' statements breaking VPATH / find-debuginfo.sh . rm -f gdb/ada-exp.c gdb/ada-lex.c gdb/c-exp.c gdb/cp-name-parser.c gdb/f-exp.c rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c # Apply patches defined above. # Match the Fedora's version info. %patch2 -p1 %if 0%{!?_with_upstream:1} #patch232 -p1 %patch349 -p1 %patch1 -p1 %patch3 -p1 %patch104 -p1 %patch105 -p1 %patch106 -p1 %patch111 -p1 %patch112 -p1 %patch118 -p1 %patch122 -p1 %patch125 -p1 %patch128 -p1 %patch133 -p1 %patch136 -p1 %patch140 -p1 %patch141 -p1 %patch259 -p1 %patch142 -p1 %patch145 -p1 %patch148 -p1 %patch150 -p1 %patch151 -p1 %patch153 -p1 %patch157 -p1 %patch158 -p1 %patch160 -p1 %patch161 -p1 %patch162 -p1 %patch163 -p1 %patch164 -p1 %patch169 -p1 %patch170 -p1 %patch176 -p1 %patch177 -p1 %patch188 -p1 %patch190 -p1 %patch194 -p1 %patch195 -p1 %patch196 -p1 %patch199 -p1 %patch201 -p1 %patch208 -p1 %patch209 -p1 %patch211 -p1 %patch213 -p1 %patch214 -p1 %patch215 -p1 %patch216 -p1 %patch217 -p1 %patch225 -p1 %patch229 -p1 %patch231 -p1 %patch234 -p1 %patch235 -p1 %patch240 -p1 %patch241 -p1 %patch245 -p1 %patch247 -p1 %patch249 -p1 %patch254 -p1 %patch258 -p1 %patch260 -p1 %patch261 -p1 %patch263 -p1 %patch265 -p1 %patch266 -p1 %patch271 -p1 %patch274 -p1 %patch353 -p1 %patch282 -p1 %patch284 -p1 %patch287 -p1 %patch289 -p1 %patch290 -p1 %patch293 -p1 %patch294 -p1 %patch296 -p1 %patch298 -p1 %patch304 -p1 %patch309 -p1 %patch311 -p1 %patch314 -p1 %patch315 -p1 %patch317 -p1 %patch318 -p1 %patch320 -p1 %patch322 -p1 %patch324 -p1 %patch326 -p1 %patch350 -p1 %patch328 -p1 %patch329 -p1 %patch330 -p1 %patch331 -p1 %patch332 -p1 %patch337 -p1 %patch343 -p1 %patch348 -p1 %patch352 -p1 %patch360 -p1 %patch375 -p1 %patch376 -p1 %patch381 -p1 %patch124 -p1 %patch1000 %patch1002 -p1 %patch1007 find -name "*.orig" | xargs rm -f ! find -name "*.rej" # Should not happen. %endif # 0%{!?_with_upstream:1} # Change the version that gets printed at GDB startup, so it is SUSE # specific. cat > gdb/version.in << _FOO SUSE (%{version}-%{release}) _FOO # Remove the info and other generated files added by the FSF release # process. rm -f libdecnumber/gstdint.h rm -f bfd/doc/*.info rm -f bfd/doc/*.info-* rm -f gdb/doc/*.info rm -f gdb/doc/*.info-* %build # Identify the build directory with the version of gdb as well as the # architecture, to allow for mutliple versions to be installed and # built. # Initially we're in the %{gdb_src} directory. rm -fr %{gdb_build} mkdir %{gdb_build} cd %{gdb_build} # g77 executable is no longer present in Fedora gcc-4.x+. g77="`which gfortran 2>/dev/null || true`" test -z "$g77" || ln -s "$g77" ./g77 export CFLAGS="$RPM_OPT_FLAGS" %if 0%{?_with_debug:1} # --enable-werror could conflict with `-Wall -O0' but this is no longer true # for recent GCCs. CFLAGS="$CFLAGS -O0 -ggdb2" %endif ../configure \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --sysconfdir=%{_sysconfdir} \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --with-gdb-datadir=%{_datadir}/gdb \ --with-pythondir=%{_datadir}/gdb/python \ --enable-gdb-build-warnings=,-Wno-unused \ %ifnarch %{ix86} alpha ia64 ppc s390 s390x x86_64 ppc64 sparcv9 sparc64 --disable-werror \ %else %if 0%{?_with_upstream:1} --disable-werror \ %else --enable-werror \ %endif %endif --with-separate-debug-dir=/usr/lib/debug \ --disable-sim \ --disable-rpath \ --with-system-readline \ --with-expat \ --enable-tui \ %if 0%{!?_without_python:1} --with-python \ %else --without-python \ %endif --without-rpm \ %ifarch ia64 --with-libunwind \ %else --without-libunwind \ %endif --enable-64-bit-bfd \ %if 0%{?_with_debug:1} --enable-static --disable-shared --enable-debug \ %endif %ifarch sparcv9 sparc-%{_vendor}-%{_target_os}%{?_gnu} %else %{_target_platform} %endif make %{?_smp_mflags} make %{?_smp_mflags} info # Copy the <sourcetree>/gdb/NEWS file to the directory above it. cp $RPM_BUILD_DIR/%{gdb_src}/gdb/NEWS $RPM_BUILD_DIR/%{gdb_src} %check # Initially we're in the %{gdb_src} directory. cd %{gdb_build} %if 0%{!?_with_testsuite:1} echo ====================TESTSUITE DISABLED========================= %else echo ====================TESTING========================= cd gdb gcc -o ./orphanripper %{SOURCE2} -Wall -lutil # Need to use a single --ignore option, second use overrides first. # No `%{?_smp_mflags}' here as it may race. # WARNING: can't generate a core file - core tests suppressed - check ulimit # "readline-overflow.exp" - Testcase is broken, functionality is OK. ( # ULIMIT required for `gdb.base/auxv.exp'. ulimit -H -c ulimit -c unlimited || : # Setup $CHECK as `check//unix/' or `check//unix/-m64' for explicit bitsize. # Never use two different bitsizes as it fails on ppc64. echo 'int main (void) { return 0; }' >biarch.c CHECK="" for BI in -m64 -m32 -m31 "" do # Do not use size-less options if any of the sizes works. # On ia64 there is no -m64 flag while we must not leave a bare `check' here # as it would switch over some testing scripts to the backward compatibility # mode: when `make check' was executed from inside the testsuite/ directory. if [ -z "$BI" -a -n "$CHECK" ];then continue fi # Do not use $RPM_OPT_FLAGS as the other non-size options will not be used # in the real run of the testsuite. if ! gcc $BI -o biarch biarch.c then continue fi CHECK="$CHECK check//unix/$BI" done # Do not try -m64 inferiors for -m32 GDB as it cannot handle inferiors larger # than itself. # s390 -m31 still uses the standard ELF32 binary format. gcc $RPM_OPT_FLAGS -o biarch biarch.c RPM_SIZE="$(file ./biarch|sed -n 's/^.*: ELF \(32\|64\)-bit .*$/\1/p')" if [ "$RPM_SIZE" != "64" ] then CHECK="$(echo " $CHECK "|sed 's# check//unix/-m64 # #')" fi # Disable some problematic testcases. # RUNTESTFLAGS='--ignore ...' is not used below as it gets separated by the # `check//...' target spawn and too much escaping there would be dense. for test in \ gdb.base/readline-overflow.exp \ gdb.base/bigcore.exp \ ; do mv -f ../../gdb/testsuite/$test ../gdb/testsuite/$test-DISABLED || : done %if 0%{!?_with_upstream:1} # Run all the scheduled testsuite runs also in the PIE mode. # Upstream GDB would lock up the testsuite run for too long on its failures. CHECK="$(echo $CHECK|sed 's#check//unix/[^ ]*#& &/-fPIE/-pie#g')" %endif # 0%{!?_with_upstream:1} # FIXME: Temporary F12 disable: ./orphanripper make %{?_smp_mflags} -k $CHECK || : ) for t in sum log do for file in testsuite*/gdb.$t do suffix="${file#testsuite.unix.}" suffix="${suffix%/gdb.$t}" ln $file gdb-%{_target_platform}$suffix.$t || : done done # `tar | bzip2 | uuencode' may have some piping problems in Brew. tar cjf gdb-%{_target_platform}.tar.bz2 gdb-%{_target_platform}*.{sum,log} uuencode gdb-%{_target_platform}.tar.bz2 gdb-%{_target_platform}.tar.bz2 cd ../.. echo ====================TESTING END===================== %endif %install # Initially we're in the %{gdb_src} directory. cd %{gdb_build} rm -rf $RPM_BUILD_ROOT make %{?_smp_mflags} install DESTDIR=$RPM_BUILD_ROOT # install the gcore script in /usr/bin cp $RPM_BUILD_DIR/%{gdb_src}/gdb/gdb_gcore.sh $RPM_BUILD_ROOT%{_bindir}/gcore chmod 755 $RPM_BUILD_ROOT%{_bindir}/gcore # Remove the gdb/gdbtui binaries duplicity. test -x $RPM_BUILD_ROOT%{_prefix}/bin/gdbtui ln -sf gdb $RPM_BUILD_ROOT%{_prefix}/bin/gdbtui cmp $RPM_BUILD_ROOT%{_mandir}/*/gdb.1 $RPM_BUILD_ROOT%{_mandir}/*/gdbtui.1 ln -sf gdb.1 $RPM_BUILD_ROOT%{_mandir}/*/gdbtui.1 %if 0%{!?_without_python:1} # Temporarily now: for LIB in lib lib64;do LIBPATH="$RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{_prefix}/$LIB" mkdir -p $LIBPATH # basename is being run only for the native (non-biarch) file. sed -e 's,@pythondir@,%{_datadir}/gdb/python,' \ -e 's,@toolexeclibdir@,%{_prefix}/'"$LIB," \ < $RPM_BUILD_DIR/%{gdb_src}/%{libstdcxxpython}/hook.in \ > $LIBPATH/$(basename %{_prefix}/%{_lib}/libstdc++.so.6.*)-gdb.py done test ! -e $RPM_BUILD_ROOT%{_datadir}/gdb/python/libstdcxx cp -a $RPM_BUILD_DIR/%{gdb_src}/%{libstdcxxpython}/libstdcxx \ $RPM_BUILD_ROOT%{_datadir}/gdb/python/libstdcxx %endif # 0%{!?_without_python:1} # Remove the files that are part of a gdb build but that are owned and # provided by other packages. # These are part of binutils rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/ rm -f $RPM_BUILD_ROOT%{_infodir}/bfd* rm -f $RPM_BUILD_ROOT%{_infodir}/standard* rm -f $RPM_BUILD_ROOT%{_infodir}/mmalloc* rm -f $RPM_BUILD_ROOT%{_infodir}/configure* rm -rf $RPM_BUILD_ROOT%{_includedir} rm -rf $RPM_BUILD_ROOT/%{_libdir}/lib{bfd*,opcodes*,iberty*,mmalloc*} # Delete this too because the dir file will be updated at rpm install time. # We don't want a gdb specific one overwriting the system wide one. rm -f $RPM_BUILD_ROOT%{_infodir}/dir %if 0%{!?_with_upstream:1} # pstack obsoletion cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man1/gstack.1 %endif # 0%{!?_with_upstream:1} %clean rm -rf $RPM_BUILD_ROOT %post # This step is part of the installation of the RPM. Not to be confused # with the 'make install ' of the build (rpmbuild) process. for infoname in annotate gdb gdbint stabs;do %install_info --info-dir=%{_infodir} %_{infodir}/$infoname.info.gz done %postun for infoname in annotate gdb gdbint stabs;do %install_info_delete --info-dir=%{_infodir} %_{infodir}/$infoname.info.gz done %files %defattr(-,root,root) %doc COPYING COPYING.LIB README NEWS %{_bindir}/gcore %{_bindir}/gdb %{_bindir}/gdbtui %{_mandir}/*/gdb.1* %{_mandir}/*/gdbtui.1* %if 0%{!?_with_upstream:1} %{_bindir}/gstack %{_mandir}/*/gstack.1* %endif # 0%{!?_with_upstream:1} %{_datadir}/gdb %{_infodir}/annotate.info* %{_infodir}/gdb.info* %{_infodir}/gdbint.info* %{_infodir}/stabs.info* # don't include the files in include, they are part of binutils %ifnarch sparcv9 %files -n gdbserver %defattr(-,root,root) %{_bindir}/gdbserver %{_mandir}/*/gdbserver.1* %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor