; GNU/Linux-specific options for the CRIS port of the compiler.

; Copyright (C) 2005-2013 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
; GCC 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 3, or (at your option) any later
; version.
;
; GCC 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 GCC; see the file COPYING3.  If not see
; <http://www.gnu.org/licenses/>.

; Provide a legacy -mlinux option.
mlinux
Target Report RejectNegative Undocumented

mno-gotplt
Target Report RejectNegative Mask(AVOID_GOTPLT)
Together with -fpic and -fPIC, do not use GOTPLT references

; There's a small added setup cost with using GOTPLT references
; for the first (resolving) call, but should in total be a win
; both in code-size and execution-time.
mgotplt
Target Report RejectNegative InverseMask(AVOID_GOTPLT) Undocumented
