), labs (long), llabs(long long), fabs (double), fabsf
(float) and fabsl (long double).
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
be better from that point of view. The builtins.def file has a
number of different ways of defining builtin functions depending on
which command line options should enable/disable them, and whether or
not __builtin should be prepended.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
compilers could not support 128-bit integer constants.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
Jim Wilson wrote:
This does mean that you can't build a 128-bit target compiler on a
32-bit host, but that hasn't been a problem yet.
And now that we allow HOST_WIDE_INT to be defined as long long, this
shouldn't be a problem any more either. A 32-bit host with 2 long longs
gets us up
your machine is.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
Andrea Marongiu wrote:
It seems to be using the correct as (arm-elf-as) which anyhow doesn't support
the -Qy option.
No, it is using the wrong assembler. There are two compilers here, the
native x86 linux one, and the cross compiler. You have the native x86
linux compiler using the
Tomas Svensson wrote:
It seems that gcc has emitted rtl describing a memory reference (mem
(plus (mem (plus (reg ..) (const_int ..))) (const_int ..))), which
should not have been permitted by GO_IF_LEGITIMATE_ADDRESS since it
only allows (mem (plus (reg ..) (const ..))), and forbids a second
Sunzir Deepur wrote:
recently I've encountered a problem in which some removals of
(what seems to be unneeded) lines of header files inflicted changes in
the resulting binary. further inverstigation showed
that the chages were different __FUNCTION__.numbers (in the __FUNCTION__.
xxx symbol
Tal Agmon wrote:
I see many references in gcc code to SImode. Isn't this problematic for
ports such as this when SImode does not represent the natural int?
In the gcc dir, grep SImode *.[ch] | wc shows only 67 lines. That
isn't a large number relatively speaking. Many of these are in
Tomas Svensson wrote:
Ok, do you have any idea about what might cause this to happen? Could
it be something wrong with exception handling or dwarf2 debugging
output? Or possibly varargs handling? I am complete lost here
unfortunately... Other function calls work just fine.
Build any port that
without -O, no matter how many -f
options you use. What you want to do is -O -fno-foo -fno-bar etc.
However, we do not have -f options for every optimization, so there is
no guarantee that this will identify the optimization pass that exposes
the bug in your port.
--
Jim Wilson, GNU Tools
-math -S gives me
sub:
cvtsd2siq %xmm0, %rax
ret
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
the RTL emitted by the expand_branch function though.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
that
the optimizer can't rewrite, then you should be OK.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
.x.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
scheduler descriptions.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
. By the way, I didn't write them,
and fortunately haven't had to modify them yet. Hopefully I never will.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
snapshot of
mainline? This will limit the help I can provide, since I only have
copies of mainline and gcc-4.2.x to look at, neither of which matches
what you are working with.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
for this macro in the doc/tm.texi file.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
for a dependency.
So this should work if you are using the correct RTL representation. If
you are using a different RTL representation, it won't work.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
reloads, etc. There is far too much stuff to list here. See
the docs, and learn how to read -da RTL dumps.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
that there is a latent problem here
which has gone unnoticed simply because it is impossible to reproduce
with unmodified FSF gcc sources.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
from /proc/self/maps. Those are obviously linux specific solutions.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
is to
replace every use of x with tmp inside this switch statement.
The bug is still present in gcc mainline (4.3), but I don't have a
testcase that reproduces it there.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
-patches/2000-10/msg00607.html
Another interesting point, the ChangeLog entry doesn't mention the
addition of $V.
You want to try writing a patch, or maybe just file a formal bug report?
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
of an pseudo that did not get allocated
to a hard register for instance, so even if register_operand and
general_operand are changed, you still need to find and fix the bug in
your port.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
in the output are suspect:
/bin/sh: /usr/bin/true: Success
I don't have a /usr/bin/true on my F7 machines. There is a /bin/true.
The program true should just return without error and not do anything else.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
calls, then you would have to write a
C program without any function calls. Neither gcc nor binutils will
help you there.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
$ echo $SHELL
/bin/bash
localhost$ cat tmp.script
#!/bin/foo
exit 0
localhost$ ./tmp.script
bash: ./tmp.script: /bin/foo: bad interpreter: No such file or directory
localhost$ csh
[EMAIL PROTECTED] ~/tmp]$ ./tmp.script
./tmp.script: Command not found.
[EMAIL PROTECTED] ~/tmp]$
--
Jim Wilson, GNU
MEM here.
Probably there is code in the backend that assumes SUBREG can only
contain a REG, which is incorrect. SUBREG can also contain a MEM. You
need to check to make sure.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
Thomas Koenig wrote:
On Thu, 2007-11-15 at 17:42 -0800, Jim Wilson wrote:
Thomas Koenig wrote:
build/genmodes -h tmp-modes.h
/bin/sh: build/genmodes: No such file or directory
Your problem is that you accidentally ran ../gcc/gcc/configure instead
of ../gcc/configure. However, why it fails
, as it seems odd that you have an invalid subreg being passed in here.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
again.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
need that info in order to
construct the lowpart/subreg. Nowhere does var-tracking check to see if
it is creating a valid register references, nor do I think this is
necessary.
Hence, I now believe that your suggested doc change is correct, and is
OK to check in to mainline.
--
Jim Wilson, GNU Tools
is going on.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
Vander Aa Tom wrote:
This fails the legitimate address constraint since I'm not allowing a
mem inside another mem.
Sounds like a REG_OK_STRICT bug. GO_IF_LEGITIMATE_ADDRESS should accept
a pseudo-reg when !REG_OK_STRICT, and should reject a pseudo-reg when
REG_OK_STRICT. In reload, an
Dasarath Weeratunge wrote:
I added a field to struct basic_block_def in basic-block.h of type
struct pointer_set_t.
Now when I try to rebuild GCC build fails with error:
libbackend.a(gtype-desc.o): In function `gt_pch_nx_basic_block_def':
/scratch/dweeratu/gcc/build/gcc/gtype-desc.c:2472:
Reuben Harris wrote:
I would like to modify GCC to inject a link-once word-sized data
declaration into the object file, i.e. to behave AS IF there were
extra declarations in the source code, e.g.:
Builtin functions are a good source for how to create decls, but they
create mostly type decls.
Desineni, Harikishan wrote:
I just compiled an app with GCC. It is segmentation faulting in call_gmon_start
(even before reaching main() of my program
Gcc usage questions should not be sent to the gcc list. This list is
for being doing development work on gcc. This is an appropriate
Fran Baena wrote:
RTL represents a low-level language, machine-independent. But I didn't
find any especification of such language represented. This is, I found
no document where the language represented were described or defined
in a grammar way.
RTL isn't a programming language, and hence has
Greg Schafer wrote:
Currently, -B doesn't add the multilib search paths when processing
startfile_prefixes. For example, -B $prefix/lib/ doesn't find startfiles in
$prefix/lib/../lib64
GCC has two different schemes for multilib search dirs. One that is
used in the gcc build tree, and one
Boris Boesler wrote:
insn 381 appears in the delay slot and later in another basic block
(but same function). These insns are equal but they are not the same,
two disjunct pieces of memory.
Is this possible?
Yes. Reorg calls copy_rtx to avoid having shared RTL. Unsharing the
insns means
Boris Boesler wrote:
But some basic blocks seem to point to insns which are not in the
insn-list. I had a short look at dbr_schedule() in reorg.c and the basic
blocks are not updated. Are they evaluated in a later pass?
No. See pass_free_cfg, which is the third pass before pass_delay_slots.
Ajit Mittal wrote:
This command
$(CC) -M $(HOST_CFLAGS) $(CPPFLAGS) -MQ $@ include/common.h [EMAIL PROTECTED]
xscale-elf-gcc: compilation of header file requested
Looks like an old bug fixed long ago, sometime around the gcc-3.3 time
frame. You should always include the gcc version number
Bingfeng Mei wrote:
However, if I also want to model the resource for writing back register
file, the number of states and arcs just explodes. It is especially true
for long pipeline instruction.
The usual solution is to have two DFAs, one used for most instructions,
and one used just for the
Boris Boesler wrote:
The following code generators use FOR_EACH_BB[_REVERSE] in the target
machine dependent reorg pass:
- bfin
- frv
- ia64
- mt
- s390
The very first thing that ia64_reorg does is
compute_bb_for_insn ();
Just taking a quick look, I don't see any bb
Basile STARYNKEVITCH wrote:
It is indeed the easiest. But for X_CFLAGS T_CFLAGS I only found the
comment
# These exists to be overridden by the x-* and t-* files, respectively.
t-* files are target makefile fragments. x-* files are (cross)-host
makefile fragments. See config.gcc and
Boris Boesler wrote:
I haven't specified my problem properly? If I traverse basic blocks via
FOR_EACH_BB (used in compute_bb_for_insn, too) I get insns which are not
in the insn-stream for(insn = get_insns(), insn; insn = NEXT_INSN(insn)) ..
As Ian mentioned, the delay-slot filling pass does
Jan Hoogerbrugge wrote:
I see however that no code is generated if trimedia_expand_vector_init()
returns 0 and the define_expand FAILs. I also see in other targets that a
vec_init always ends with a DONE. Could it be that vec_init is not allowed to
FAIL?
Grep for vec_init, and we see that it
Wirawan Purwanto wrote:
I tried to compile GCC 4.3.0 on a Red Hat Linux 9.0 box, it stopped at stage 1:
Compiling new gcc versions on old linux versions may not always work,
and is unlikely to be fixed. You are probably on your own here if you
run into a non-trivial problem.
Andrew Pinski wrote:
/src/gcc/local/gcc/gcc/cp/pt.c: In function 'subst_copy':
/src/gcc/local/gcc/gcc/cp/pt.c:9919: warning: 'len' may be used
uninitialized in this function
This was introduced by your patch here:
http://gcc.gnu.org/ml/gcc-patches/2008-03/msg01675.html
Please suggest a
Mohamed Shafi wrote:
For the source or the destination register Rd/Ra, the restriction is
that it should be one more than the base register . So the following
instructions are valid:
GCC doesn't provide any easy way for the source address to depend on the
destination address, or vice versa.
Sergei Poselenov wrote:
I'm building a powerpc cross of gcc-4.2.2 on RH 7.2 host and ran into this:
RHL 7.2 is very old. It is unlikely that we can help you here.
The bug is very hardly reproducable; on FC6 I was unable to reproduce after
running test loop overnight.
If the bug isn't
Christophe Avoinne wrote:
* How can I make coexist the SF mode between the FPU registers and
the VFPU registers in the argument list of a function ?
You probably don't want to use VFPU registers for argument passing.
That will complicate the ABI. If you really do, then you need two
On Tue, 2008-04-01 at 09:48 +0530, Mohamed Shafi wrote:
What i did was to have 8 register class with each class having two
registers, an even register and an odd register then in define expand
look for the register indirect with offset addressing mode and emit
gen_store_offset or
Swapna Pawar wrote:
configure:4542: checking for correct version of mpfr.h
configure:4573: i386-pc-mingw32msvc-gcc -o conftest.exe -O2
-I/home/manjunathm1/gmp/prefix/include
-I/home/manjunathm1/mpfr/prefix/include conftest.c -L/h
ome/manjunathm1/gmp/prefix/lib
FX Coudert wrote:
Moreover, our contribute page says the GCC maintainer that is taking
care of your contributions and there is no documentation to
maintainers, so that part at least is wrong: maintainers don't know what
to do. Or else, I just didn't receive the maintainer welcome package
Mohamed Shafi wrote:
'liu' will load the immediate value into the upper byte of the
specified register. The lower byte of the register is unaffected.
The liu pattern should be something like
(set (regX) (ior:HI (and:HI (regX) (const_int 255)) (const_int Y)))
Jim
Stelian Pop wrote:
#define PREFERRED_RELOAD_CLASS(X, CLASS)\
((CONSTANT_P(X)) ? EIGHT_REGS : \
(MEM_P(X)) ? EVEN_REGS : CLASS)
#define PREFERRED_OUTPUT_RELOAD_CLASS(X, CLASS) \
((CONSTANT_P(X)) ? EIGHT_REGS : \
Mohamed Shafi wrote:
This looks like reordering is proper. When schedule-insn2 is run for
the above region/block the no:of instructions in the region
(rgn_n_insns) is 3.
Maybe bb reorder got the basic block structure wrong, and the barrier is
not supposed to be part of the basic block. In
Dasarath Weeratunge wrote:
In the following code I marked the tree 'node.0' as address taken using
'c_mark_addressable'. Now in the assembly code, isn't the return value of the
second call to malloc completely discarded?
c_mark_addressable is meant to be called during parsing. It may affect
On Sat, 2008-04-12 at 00:06 +0200, Stelian Pop wrote:
I will still have the problems with the fact that my indirect addressing
doesn't allow displacements, no ? (so I would need to implement
LEGITIMIZE_RELOAD_ADDRESS, in which I'll need a special reserved
register to compute the full address
Stelian Pop wrote:
I will still have the problems with the fact that my indirect addressing
doesn't allow displacements, no ? (so I would need to implement
LEGITIMIZE_RELOAD_ADDRESS, in which I'll need a special reserved
register to compute the full address by adding the base and the
On Sun, 2008-04-13 at 17:05 +0530, Mohamed Shafi wrote:
Well i tracked down the cause to the md file. In the md file i had a
define_expand for the jump pattern. Inside the pattern i was checking
whether the value of the offset for the jump is out of range and if
its out of range then force
Mohamed Shafi wrote:
For a function call will i be able to implement long call/short call
for the same function at different locations?
Say fun1 calls bar and fun2 calls bar. I want short-call to be
generated for bar in fun1 and long-call to be generated in fun2.
Is to possible to implement this
On Tue, 2008-04-15 at 00:06 +0200, Stelian Pop wrote:
- I had to add a PLUS case in PREFERRED_RELOAD_CLASS() or else reload
kept generating incorrect insn (putting constants into EVEN_REGS for
example). I'm not sure this is correct or if it hides something else...
It does sound odd, but
This testcase extracted from libgcc2.c
int
sub (int i)
{
if (i == 0)
return 1 / i;
return i + 2;
}
compiled with -minline-int-divide-min-latency for IA-64 generates an
ICE.
tmp2.c:8: error: flow control insn inside a basic block
(insn 18 17 19 3 tmp2.c:5 (trap_if (const_int 1 [0x1])
On Tue, 2008-04-15 at 11:27 +0530, Mohamed Shafi wrote:
On Mon, Apr 14, 2008 at 11:44 PM, Jim Wilson [EMAIL PROTECTED] wrote:
A simple grep command shows that both arm and rs6000 already both support
long call pragmas.
I did see those but i coudn't determine whether it is possible
Kunal Parmar wrote:
But my return label is getting optimized away. Could you please tell
me how to avoid this.
You may also need to add a (USE (REG RA)) to the call pattern. Gcc will
see that you set a register to the value of the return label, but it
won't see any code that uses that
Mohamed Shafi wrote:
short k;
__OUT(port no) = k;
So hoe can i do that.
Make __OUT take two parameters.
__OUT(port no, k);
Jim
Pranav Bhandarkar wrote:
GCC 4.3 does fine here except when the operator is logical and (see
attached. test.c uses logical and and test1.c uses plus)
Logical and generates control-flow instructions, i.e. compares,
branches, and labels. This makes optimizing it a very different problem
than
x z wrote:
I would like to see that GCC define a macro in the case it is being used to
compile a program. Currently there is a __GNUC__ macro defined by the GNU C
preprocessor CPP.
This is our mistake. Originally __GNUC__ meant that this was the GNU C
compiler (aka GNU Compiler
x z wrote:
This is somewhat off-topic. Perhaps the GCC development team should
consider making this __GNUC__ stuff more clarified in the GCC Manual.
I don't think this is off-topic. We need to get people to understand
that __GNUC__ is ambiguous before we can solve the problem. It means
x z wrote:
If we want to fix this, gcc must change. And this may
also require GNU libc changes and linux kernel changes, etc.
Maybe you can enlighten us a bit on why GNU libc and linux kernel need
changes so that we can realize better how complicated the issue is.
Because there are header
the
one place we know is broken (choose_reload_regs) to use the new argument
(or new sets argument value).
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
on the help link
next to the simple search box, it will tell you all of the usually
useless things that simple search does.
I also recommend using the advanced search feature, and typing your
search term into the A Comment search field.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
with the POSIX rules for command line arguments.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
Rainer Emrich wrote:
/SCRATCH/gcc-build/Linux/ia64-unknown-linux-gnu/install/bin/ld: unrecognized
option '-Wl,-rpath'
This looks like PR 21206. See my explanation at the end. I see this on
some of our FreeBSD machines, but I've never seen it on an IA-64 linux
machine.
--
Jim Wilson, GNU
.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
functions. You may be confusing cgraph
somehow. Take a look at cgraph_mark_needed_node and
decide_is_function_needed.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
two ILs, a high level one (gimple), and a low level one (rtl),
and the details for each is different.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
non-prologue instruction, and insert the NOTE_INSN_FUNCTION_BEG note
before it. You find the last prologue instruction, and insert the
NOTE_INSN_PROLOGUE_END note after it. You would also have to do the
same (reversed) for the epilogue. It isn't clear if this extra work is
worthwhile.
--
Jim
of them discuss the tree structures we use,
particularly the tree-ssa papers. There are pointers to these
conference proceedings in the wiki off of our web page.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
files follows from
the definition of GENERIC and GIMPLE and should mostly be pretty obvious.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
with the REG_POINTER support. Try looking at a port that uses this
one, like the pa port. The PA port requires that in a REG+REG address,
we must know which one is the pointer, and which one is the offset, and
the PA port uses REG_POINTER for this.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
. If you
don't have a PentiumPro processor, then you may not want to use this
option. Pentium 2 through 4 do not have this problem.
See also PR 15184 in our bugzilla database on our web site.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
the existing RTL if a pseudo-reg already exists.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
a bug in a supported
target that should be reported and fixed. If you are writing your own
port, this indicates a bug in your port.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
include test_text in that
support, then we need to add a copy of the resulting corrected output
file to the testsuite. This was not done for the ia64/sys/getppdp.h
file. There could also be other similar errors. A bug report in
bugzilla would be useful to track this.
--
Jim Wilson, GNU
, so
the original reason for the sched support seems to be gone.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
Bernd Schmidt wrote:
Do we have a replacement for this heuristic?
I see REG_FREQ, which is computed from some basic block frequency info.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
James Lemke wrote:
I wanted some mechanical way to compare the output of dejagnu runs
between releases, etc.
Did you look at contrib/compare_tests? It does something very similar
to what your script is doing.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
incentive to people to fix
their backends.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
Joe Buck wrote:
It's GNU ld version 2.16.1. This is strange; I would have expected the
linker to get just -rpath: -Wl should tell gcj to pass the following
option to the linker.
Known problem. See PR 21206.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
the
EXTRA_MEMORY_CONSTRAINT documentation. If you define this, then reload
will know that it can always fix an 'R' by reloading the address into a
register.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
, it would have already been
fixed in gcc-3.4.x.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
Monika Sapra wrote:
I am not able to understand, why the checkout source of GCC is so large in
size? I am using the following command to checkout source:
See the info in the wiki. It talks about ways to reduce disk space.
http://gcc.gnu.org/wiki/SvnHelp
--
Jim Wilson, GNU Tools Support
gdb, and then using the sparc-elf-run simulator.
You can also try using the sparc-elf-gdb, but you will have to read the
docs to learn how to do it.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
I don't know when I will
get to it.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
during this
period, as the testsuite dir might be on mainline, but not on release
branches. Or it might be on release branches but not in release tarballs.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
1 - 100 of 828 matches
Mail list logo