diff options
Diffstat (limited to 'csu')
-rw-r--r-- | csu/Makefile | 13 | ||||
-rw-r--r-- | csu/abi-note.S | 6 |
2 files changed, 13 insertions, 6 deletions
diff --git a/csu/Makefile b/csu/Makefile index ad59404..838e141 100644 --- a/csu/Makefile +++ b/csu/Makefile @@ -168,12 +168,17 @@ $(objpfx)abi-tag.h: $(..)abi-tags $(make-target-directory) rm -f $@.new sed -e 's/#.*$$//' -e '/^[ ]*$$/d' $< | \ - while read conf tag; do \ + while read conf tagos tagver; do \ test `expr '$(config-machine)-$(config-vendor)-$(config-os)' \ : "$$conf"` != 0 || continue; \ - echo "$$tag" | \ - sed -e 's/[^0-9xXa-fA-F]/ /g' -e 's/ *$$//' \ - -e 's/ /,/g' -e 's/^ */#define ABI_TAG /' > $@.new; \ + ( echo "$$tagos" | \ + sed -e 's/[^0-9xXa-fA-F ]//' \ + -e 's/^/#define __ABI_TAG_OS /'; \ + echo "#ifndef __ABI_TAG_VERSION"; \ + echo "$$tagver" | \ + sed -e 's/[^0-9xXa-fA-F]/ /g' -e 's/ *$$//' \ + -e 's/ /,/g' -e 's/^/# define __ABI_TAG_VERSION /'; \ + echo "#endif" ) > $@.new; \ done if test -r $@.new; then mv -f $@.new $@; \ else echo >&2 'This configuration not matched in $<'; exit 1; fi diff --git a/csu/abi-note.S b/csu/abi-note.S index 6050883..3ad3a47 100644 --- a/csu/abi-note.S +++ b/csu/abi-note.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it @@ -54,6 +54,7 @@ offset length contents identify the earliest release of that OS that supports this ABI. See abi-tags (top level) for details. */ +#include <config.h> #include <abi-tag.h> /* OS-specific ABI tag value */ /* The linker (GNU ld 2.8 and later) recognizes an allocated section whose @@ -67,5 +68,6 @@ offset length contents .long 1 /* note type */ 0: .asciz "GNU" /* vendor name */ 1: .align 4 -2: .long ABI_TAG /* note data: the ABI tag */ +2: .long __ABI_TAG_OS /* note data: the ABI tag */ + .long __ABI_TAG_VERSION 3: .align 4 /* pad out section */ |