Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
35495312
Commit
35495312
authored
Aug 14, 2001
by
Ulrich Weigand
Committed by
Ulrich Weigand
Aug 14, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added atomicity.h header for s390.
From-SVN: r44907
parent
8e0bcac8
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
70 additions
and
0 deletions
+70
-0
libstdc++-v3/ChangeLog
+7
-0
libstdc++-v3/config/cpu/s390/bits/atomicity.h
+60
-0
libstdc++-v3/configure.target
+3
-0
No files found.
libstdc++-v3/ChangeLog
View file @
35495312
2001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
* configure.target (cpu_include_dir): Set to `config/cpu/s390'
for s390 and s390x.
* config/cpu/s390/bits/atomicity.h: New.
2001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
* include/bits/std_limits.h: Fix thinko.
...
...
libstdc++-v3/config/cpu/s390/bits/atomicity.h
0 → 100644
View file @
35495312
// Low-level functions for atomic operations: S/390 version -*- C++ -*-
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _BITS_ATOMICITY_H
#define _BITS_ATOMICITY_H 1
typedef
int
_Atomic_word
;
static
inline
_Atomic_word
__attribute__
((
__unused__
))
__exchange_and_add
(
volatile
_Atomic_word
*
__mem
,
int
__val
)
{
register
_Atomic_word
__old_val
,
__new_val
;
__asm__
__volatile__
(
" l %0,0(%2)
\n
"
"0: lr %1,%0
\n
"
" ar %1,%3
\n
"
" cs %0,%1,0(%2)
\n
"
" jl 0b"
:
"=&d"
(
__old_val
),
"=&d"
(
__new_val
)
:
"a"
(
__mem
),
"d"
(
__val
)
:
"cc"
,
"memory"
);
return
__old_val
;
}
static
inline
void
__attribute__
((
__unused__
))
__atomic_add
(
volatile
_Atomic_word
*
__mem
,
int
__val
)
{
__exchange_and_add
(
__mem
,
__val
);
}
#endif
/* atomicity.h */
libstdc++-v3/configure.target
View file @
35495312
...
...
@@ -42,6 +42,9 @@ case "${target_cpu}" in
powerpc | rs6000)
cpu_include_dir="config/cpu/powerpc"
;;
s390 | s390x)
cpu_include_dir="config/cpu/s390"
;;
sparc64 | ultrasparc)
cpu_include_dir="config/cpu/sparc/sparc64"
;;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment