~ubuntu-branches/ubuntu/wily/clamav/wily-proposed

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/include/llvm/Support/Debug.h

  • Committer: Package Import Robot
  • Author(s): Scott Kitterman, Sebastian Andrzej Siewior, Andreas Cadhalpun, Scott Kitterman, Javier Fernández-Sanguino
  • Date: 2015-01-28 00:25:13 UTC
  • mfrom: (0.48.14 sid)
  • Revision ID: package-import@ubuntu.com-20150128002513-lil2oi74cooy4lzr
Tags: 0.98.6+dfsg-1
[ Sebastian Andrzej Siewior ]
* update "fix-ssize_t-size_t-off_t-printf-modifier", include of misc.h was
  missing but was pulled in via the systemd patch.
* Don't leak return codes from libmspack to clamav API. (Closes: #774686).

[ Andreas Cadhalpun ]
* Add patch to avoid emitting incremental progress messages when not
  outputting to a terminal. (Closes: #767350)
* Update lintian-overrides for unused-file-paragraph-in-dep5-copyright.
* clamav-base.postinst: always chown /var/log/clamav and /var/lib/clamav
  to clamav:clamav, not only on fresh installations. (Closes: #775400)
* Adapt the clamav-daemon and clamav-freshclam logrotate scripts,
  so that they correctly work under systemd.
* Move the PidFile variable from the clamd/freshclam configuration files
  to the init scripts. This makes the init scripts more robust against
  misconfiguration and avoids error messages with systemd. (Closes: #767353)
* debian/copyright: drop files from Files-Excluded only present in github
  tarballs
* Drop Workaround-a-bug-in-libc-on-Hurd.patch, because hurd got fixed.
  (see #752237)
* debian/rules: Remove useless --with-system-tommath --without-included-ltdl
  configure options.

[ Scott Kitterman ]
* Stop stripping llvm when repacking the tarball as the system llvm on some
  releases is too old to use
* New upstream bugfix release
  - Library shared object revisions.
  - Includes a patch from Sebastian Andrzej Siewior making ClamAV pid files
    compatible with systemd.
  - Fix a heap out of bounds condition with crafted Yoda's crypter files.
    This issue was discovered by Felix Groebert of the Google Security Team.
  - Fix a heap out of bounds condition with crafted mew packer files. This
    issue was discovered by Felix Groebert of the Google Security Team.
  - Fix a heap out of bounds condition with crafted upx packer files. This
    issue was discovered by Kevin Szkudlapski of Quarkslab.
  - Fix a heap out of bounds condition with crafted upack packer files. This
    issue was discovered by Sebastian Andrzej Siewior. CVE-2014-9328.
  - Compensate a crash due to incorrect compiler optimization when handling
    crafted petite packer files. This issue was discovered by Sebastian
    Andrzej Siewior.
* Update lintian override for embedded zlib to match new so version

[ Javier Fernández-Sanguino ]
* Updated Spanish Debconf template translation (Closes: #773563)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//===- llvm/Support/Debug.h - Easy way to add debug output ------*- C++ -*-===//
 
2
//
 
3
//                     The LLVM Compiler Infrastructure
 
4
//
 
5
// This file is distributed under the University of Illinois Open Source
 
6
// License. See LICENSE.TXT for details.
 
7
//
 
8
//===----------------------------------------------------------------------===//
 
9
//
 
10
// This file implements a handy way of adding debugging information to your
 
11
// code, without it being enabled all of the time, and without having to add
 
12
// command line options to enable it.
 
13
//
 
14
// In particular, just wrap your code with the DEBUG() macro, and it will be
 
15
// enabled automatically if you specify '-debug' on the command-line.
 
16
// Alternatively, you can also use the SET_DEBUG_TYPE("foo") macro to specify
 
17
// that your debug code belongs to class "foo".  Then, on the command line, you
 
18
// can specify '-debug-only=foo' to enable JUST the debug information for the
 
19
// foo class.
 
20
//
 
21
// When compiling without assertions, the -debug-* options and all code in
 
22
// DEBUG() statements disappears, so it does not effect the runtime of the code.
 
23
//
 
24
//===----------------------------------------------------------------------===//
 
25
 
 
26
#ifndef LLVM_SUPPORT_DEBUG_H
 
27
#define LLVM_SUPPORT_DEBUG_H
 
28
 
 
29
namespace llvm {
 
30
 
 
31
class raw_ostream;
 
32
 
 
33
/// DEBUG_TYPE macro - Files can specify a DEBUG_TYPE as a string, which causes
 
34
/// all of their DEBUG statements to be activatable with -debug-only=thatstring.
 
35
#ifndef DEBUG_TYPE
 
36
#define DEBUG_TYPE ""
 
37
#endif
 
38
  
 
39
#ifndef NDEBUG
 
40
/// DebugFlag - This boolean is set to true if the '-debug' command line option
 
41
/// is specified.  This should probably not be referenced directly, instead, use
 
42
/// the DEBUG macro below.
 
43
///
 
44
extern bool DebugFlag;
 
45
  
 
46
/// isCurrentDebugType - Return true if the specified string is the debug type
 
47
/// specified on the command line, or if none was specified on the command line
 
48
/// with the -debug-only=X option.
 
49
///
 
50
bool isCurrentDebugType(const char *Type);
 
51
 
 
52
/// SetCurrentDebugType - Set the current debug type, as if the -debug-only=X
 
53
/// option were specified.  Note that DebugFlag also needs to be set to true for
 
54
/// debug output to be produced.
 
55
///
 
56
void SetCurrentDebugType(const char *Type);
 
57
  
 
58
/// DEBUG_WITH_TYPE macro - This macro should be used by passes to emit debug
 
59
/// information.  In the '-debug' option is specified on the commandline, and if
 
60
/// this is a debug build, then the code specified as the option to the macro
 
61
/// will be executed.  Otherwise it will not be.  Example:
 
62
///
 
63
/// DEBUG_WITH_TYPE("bitset", dbgs() << "Bitset contains: " << Bitset << "\n");
 
64
///
 
65
/// This will emit the debug information if -debug is present, and -debug-only
 
66
/// is not specified, or is specified as "bitset".
 
67
#define DEBUG_WITH_TYPE(TYPE, X)                                        \
 
68
  do { if (::llvm::DebugFlag && ::llvm::isCurrentDebugType(TYPE)) { X; } \
 
69
  } while (0)
 
70
 
 
71
#else
 
72
#define isCurrentDebugType(X) (false)
 
73
#define SetCurrentDebugType(X)
 
74
#define DEBUG_WITH_TYPE(TYPE, X) do { } while (0)
 
75
#endif
 
76
 
 
77
/// EnableDebugBuffering - This defaults to false.  If true, the debug
 
78
/// stream will install signal handlers to dump any buffered debug
 
79
/// output.  It allows clients to selectively allow the debug stream
 
80
/// to install signal handlers if they are certain there will be no
 
81
/// conflict.
 
82
///
 
83
extern bool EnableDebugBuffering;
 
84
 
 
85
/// dbgs() - This returns a reference to a raw_ostream for debugging
 
86
/// messages.  If debugging is disabled it returns errs().  Use it
 
87
/// like: dbgs() << "foo" << "bar";
 
88
raw_ostream &dbgs();
 
89
 
 
90
// DEBUG macro - This macro should be used by passes to emit debug information.
 
91
// In the '-debug' option is specified on the commandline, and if this is a
 
92
// debug build, then the code specified as the option to the macro will be
 
93
// executed.  Otherwise it will not be.  Example:
 
94
//
 
95
// DEBUG(dbgs() << "Bitset contains: " << Bitset << "\n");
 
96
//
 
97
#define DEBUG(X) DEBUG_WITH_TYPE(DEBUG_TYPE, X)
 
98
 
 
99
} // End llvm namespace
 
100
 
 
101
#endif