Line 25... |
Line 25... |
|
|
#include "config.h"
|
#include "config.h"
|
#include "ansidecl.h"
|
#include "ansidecl.h"
|
|
|
#include <cstddef>
|
#include <cstddef>
|
|
#include <cstdlib>
|
#include <cstring>
|
#include <cstring>
|
#include <stdint.h>
|
#include <stdint.h>
|
#include <sys/types.h>
|
#include <sys/types.h>
|
|
|
#ifndef ENABLE_NLS
|
#ifndef ENABLE_NLS
|
Line 164... |
Line 165... |
class Workqueue;
|
class Workqueue;
|
class Output_file;
|
class Output_file;
|
template<int size, bool big_endian>
|
template<int size, bool big_endian>
|
struct Relocate_info;
|
struct Relocate_info;
|
|
|
|
// Exit status codes.
|
|
|
|
enum Exit_status
|
|
{
|
|
GOLD_OK = EXIT_SUCCESS,
|
|
GOLD_ERR = EXIT_FAILURE,
|
|
GOLD_FALLBACK = EXIT_FAILURE + 1
|
|
};
|
|
|
// Some basic types. For these we use lower case initial letters.
|
// Some basic types. For these we use lower case initial letters.
|
|
|
// For an offset in an input or output file, use off_t. Note that
|
// For an offset in an input or output file, use off_t. Note that
|
// this will often be a 64-bit type even for a 32-bit build.
|
// this will often be a 64-bit type even for a 32-bit build.
|
|
|
Line 181... |
Line 191... |
extern const char* program_name;
|
extern const char* program_name;
|
|
|
// This function is called to exit the program. Status is true to
|
// This function is called to exit the program. Status is true to
|
// exit success (0) and false to exit failure (1).
|
// exit success (0) and false to exit failure (1).
|
extern void
|
extern void
|
gold_exit(bool status) ATTRIBUTE_NORETURN;
|
gold_exit(Exit_status status) ATTRIBUTE_NORETURN;
|
|
|
// This function is called to emit an error message and then
|
// This function is called to emit an error message and then
|
// immediately exit with failure.
|
// immediately exit with failure.
|
extern void
|
extern void
|
gold_fatal(const char* format, ...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF_1;
|
gold_fatal(const char* format, ...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF_1;
|
Line 201... |
Line 211... |
|
|
// This function is called to print an informational message.
|
// This function is called to print an informational message.
|
extern void
|
extern void
|
gold_info(const char* msg, ...) ATTRIBUTE_PRINTF_1;
|
gold_info(const char* msg, ...) ATTRIBUTE_PRINTF_1;
|
|
|
|
// This function is called to emit an error message and then
|
|
// immediately exit with fallback status (e.g., when
|
|
// --incremental-update fails and the link needs to be restarted
|
|
// with --incremental-full).
|
|
extern void
|
|
gold_fallback(const char* format, ...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF_1;
|
|
|
// Work around a bug in gcc 4.3.0. http://gcc.gnu.org/PR35546 . This
|
// Work around a bug in gcc 4.3.0. http://gcc.gnu.org/PR35546 . This
|
// can probably be removed after the bug has been fixed for a while.
|
// can probably be removed after the bug has been fixed for a while.
|
#ifdef HAVE_TEMPLATE_ATTRIBUTES
|
#ifdef HAVE_TEMPLATE_ATTRIBUTES
|
#define TEMPLATE_ATTRIBUTE_PRINTF_4 ATTRIBUTE_PRINTF_4
|
#define TEMPLATE_ATTRIBUTE_PRINTF_4 ATTRIBUTE_PRINTF_4
|
#else
|
#else
|