mirror of
https://github.com/ziglang/zig.git
synced 2024-11-15 16:45:27 +00:00
glibc: pass -D__GLIBC_MINOR__=XX
instead of hard-coding it. This means that C code has accurate glibc version information in the preprocessor.
This commit is contained in:
parent
694f424fc7
commit
4d48948b52
2
lib/libc/glibc/include/features.h
vendored
2
lib/libc/glibc/include/features.h
vendored
@ -477,7 +477,7 @@
|
||||
/* Major and minor version number of the GNU C library package. Use
|
||||
these macros to test for features in specific releases. */
|
||||
#define __GLIBC__ 2
|
||||
#define __GLIBC_MINOR__ 34
|
||||
/* Zig patch: we pass `-D__GLIBC_MINOR__=XX` depending on the target. */
|
||||
|
||||
#define __GLIBC_PREREQ(maj, min) \
|
||||
((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
|
||||
|
4
lib/libc/include/generic-glibc/features.h
vendored
4
lib/libc/include/generic-glibc/features.h
vendored
@ -477,7 +477,7 @@
|
||||
/* Major and minor version number of the GNU C library package. Use
|
||||
these macros to test for features in specific releases. */
|
||||
#define __GLIBC__ 2
|
||||
#define __GLIBC_MINOR__ 34
|
||||
/* Zig patch: we pass `-D__GLIBC_MINOR__=XX` depending on the target. */
|
||||
|
||||
#define __GLIBC_PREREQ(maj, min) \
|
||||
((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
|
||||
@ -512,4 +512,4 @@
|
||||
#include <gnu/stubs.h>
|
||||
|
||||
|
||||
#endif /* features.h */
|
||||
#endif /* features.h */
|
||||
|
@ -3397,6 +3397,14 @@ pub fn addCCArgs(
|
||||
try argv.append(libunwind_include_path);
|
||||
}
|
||||
|
||||
if (comp.bin_file.options.link_libc and target.isGnuLibC()) {
|
||||
const target_version = target.os.version_range.linux.glibc;
|
||||
const glibc_minor_define = try std.fmt.allocPrint(arena, "-D__GLIBC_MINOR__={d}", .{
|
||||
target_version.minor,
|
||||
});
|
||||
try argv.append(glibc_minor_define);
|
||||
}
|
||||
|
||||
const llvm_triple = try @import("codegen/llvm.zig").targetTriple(arena, target);
|
||||
try argv.appendSlice(&[_][]const u8{ "-target", llvm_triple });
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user