Re: CREL relocation format for ELF (was: RELLEB)

2024-03-28 Thread Alan Modra via Gcc
Your thoughts on RELLEB are welcome! Does anyone really care about relocatable object file size? If they do, wouldn't they be better off using a compressed file system? -- Alan Modra Australia Development Lab, IBM

Re: [RFC][top-level] Add configure test-case

2022-11-07 Thread Alan Modra via Gcc
On Mon, Nov 07, 2022 at 06:23:45PM +, Joseph Myers wrote: > On Mon, 7 Nov 2022, Alan Modra via Binutils wrote: > > > a) that top-level binutils/gdb patches don't get applied to the gcc > >git repository in a timely manner, or > > If a toplevel patch is appr

Re: Transitioning to a new Xtensa Port Maintainer

2020-05-28 Thread Alan Modra via Gcc
so you could simply leave your name in binutils/MAINTAINERS where it is but put Max on the line before your entry. -- Alan Modra Australia Development Lab, IBM

Re: Modifying RTL cost model to know about long-latency loads

2020-04-11 Thread Alan Modra via Gcc
e (const_int) in another reg first then change the expression to (op (reg) (reg2)). Other places, eg. rtlanal.c:seq_cost do pass the entire SET. -- Alan Modra Australia Development Lab, IBM

Re: Git ChangeLog policy for GCC Testsuite inquiry

2020-02-07 Thread Alan Modra
t the ones that are ready first, then "git push origin :master" just to push up to the relevant commit. That works quite well for me. -- Alan Modra Australia Development Lab, IBM

Re: Silly GIT related question

2020-01-14 Thread Alan Modra
On Wed, Jan 15, 2020 at 03:11:13AM +, Gary Oblock wrote: > If you just do a clone and don't checkout a branch, is this equivalent > the top of the trunk in the old scheme? Yes. More details in "git help clone". -- Alan Modra Australia Development Lab, IBM

Re: RFC: Extending --with-advance-toolchain to aarch64

2019-10-09 Thread Alan Modra
ing glibc that could be installed in a non-standard location and co-exist with other system libraries. I worked around.. > Inconsistency detected by ld.so: get-dynamic-info.h: 147: > elf_get_dynamic_info: > Assertion `info[DT_RPATH] == NULL' failed! ..this by patching glibc. -

Re: POWER PC-relative addressing and new text relocations

2019-09-23 Thread Alan Modra
On Mon, Sep 23, 2019 at 11:14:12AM +0200, Florian Weimer wrote: > * Alan Modra: > > > On Mon, Sep 23, 2019 at 10:37:29AM +0200, Florian Weimer wrote: > >> * Alan Modra: > >> > >> > On Mon, Sep 23, 2019 at 09:42:52AM +0200, Florian Weimer wrote: > &

Re: POWER PC-relative addressing and new text relocations

2019-09-23 Thread Alan Modra
On Mon, Sep 23, 2019 at 10:37:29AM +0200, Florian Weimer wrote: > * Alan Modra: > > > On Mon, Sep 23, 2019 at 09:42:52AM +0200, Florian Weimer wrote: > >> At Cauldron, the question came up whether the dynamic loader needs to > >> be taught about the new relocati

Re: POWER PC-relative addressing and new text relocations

2019-09-23 Thread Alan Modra
_TPREL34, and that one only if you allow -ftls-model=local-exec when building shared libraries and accept that DF_STATIC_TLS shared libraries that can't be dlopen'd are OK. See https://sourceware.org/ml/binutils/2019-09/msg00164.html, which doesn't allow even R_PPC64_TPREL34. I haven&

Re: [PowerPC 64]r12 is not updated to GEP when control transferred from virtual thunk function .

2019-05-20 Thread Alan Modra
to a function defined outside the executable. This case requires a special stub in the executable to serve as the address of the function. -- Alan Modra Australia Development Lab, IBM

Re: [PowerPC 64]r12 is not updated to GEP when control transferred from virtual thunk function .

2019-05-20 Thread Alan Modra
On Mon, May 20, 2019 at 02:55:33AM -0500, Segher Boessenkool wrote: > On Mon, May 20, 2019 at 04:19:54PM +0930, Alan Modra wrote: > > On Thu, May 16, 2019 at 05:52:42PM -0500, Segher Boessenkool wrote: > > > Hi Umesh, > > > > > > On Thu, May 16, 2019 at 0

Re: [PowerPC 64]r12 is not updated to GEP when control transferred from virtual thunk function .

2019-05-19 Thread Alan Modra
dentally, if thunks are broken then it's very likely local function calls are broken too. -- Alan Modra Australia Development Lab, IBM

Re: Question regarding constraint usage within inline asm

2019-02-20 Thread Alan Modra
On Wed, Feb 20, 2019 at 08:57:52PM -0600, Peter Bergner wrote: > On 2/20/19 4:19 PM, Alan Modra wrote: > > I forgot to say, gcc-6, gcc-7 and gcc-8 handle your original testcase > > with the register asm just fine. > > Yes, because they don't have my IRA and LRA patches t

Re: Question regarding constraint usage within inline asm

2019-02-20 Thread Alan Modra
I forgot to say, gcc-6, gcc-7 and gcc-8 handle your original testcase with the register asm just fine. -- Alan Modra Australia Development Lab, IBM

Re: Question regarding constraint usage within inline asm

2019-02-20 Thread Alan Modra
On Wed, Feb 20, 2019 at 10:08:07AM -0600, Peter Bergner wrote: > On 2/19/19 9:09 PM, Alan Modra wrote: > > On Mon, Feb 18, 2019 at 01:13:31PM -0600, Peter Bergner wrote: > >> long input; > >> long > >> bug (void) > >> { > >> register long o

Re: Question regarding constraint usage within inline asm

2019-02-19 Thread Alan Modra
Clearly, we cannot assign > a register to the "input" variable that is both the same and different > to the register that is assigned to "output". No, you certainly can do that. I think you have found a bug in lra. -- Alan Modra Australia Development Lab, IBM

Re: RS6000 emitting sign extention for unsigned type

2019-01-18 Thread Alan Modra
nsion to happen even for unsigned type. > > is there any way to set 'punsignedp' appropriately here. No. The call to promote_function_mode in emit_library_call_value_1 does not pass type info (because it isn't available for libcalls). -- Alan Modra Australia Development Lab, IBM

Re: strlen optimizations based on whether stpcpy is declared?

2017-10-02 Thread Alan Modra
d have stpcpy with completely unrelated prototype > used for something else. In such case we don't want to introduce stpcpy > into a TU that didn't have such a call. So, we use the existence of > a matching prototype as a sign that stpcpy can be synthetized. Why is the test for stpcpy being declared done for the strcpy cases rather than the stpcpy cases? -- Alan Modra Australia Development Lab, IBM

Re: Optimization breaks inline asm code w/ptrs

2017-08-17 Thread Alan Modra
On Thu, Aug 17, 2017 at 04:27:12PM +0200, Michael Matz wrote: > Hi, > > On Mon, 14 Aug 2017, Alan Modra wrote: > > > I've opened https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81845 to track > > the lack of documentation. > > You mean like in this paragraph dis

Re: Optimization breaks inline asm code w/ptrs

2017-08-16 Thread Alan Modra
On Tue, Aug 15, 2017 at 03:09:15PM +0800, Liu Hao wrote: > On 2017/8/14 20:41, Alan Modra wrote: > >On Sun, Aug 13, 2017 at 10:25:14PM +0930, Alan Modra wrote: > >>On Sun, Aug 13, 2017 at 03:35:15AM -0700, David Wohlferd wrote: > >>>Using "m"(*pStr) as a

Re: Optimization breaks inline asm code w/ptrs

2017-08-14 Thread Alan Modra
On Sun, Aug 13, 2017 at 10:25:14PM +0930, Alan Modra wrote: > On Sun, Aug 13, 2017 at 03:35:15AM -0700, David Wohlferd wrote: > > Using "m"(*pStr) as an (unused) input parameter has no effect. > > Use "m" (*(const void *)pStr) and ignore the warning, or use &g

Re: Optimization breaks inline asm code w/ptrs

2017-08-13 Thread Alan Modra
urse that is exactly what *pStr is, but in this context it would be nicer if it meant the entire array. -- Alan Modra Australia Development Lab, IBM

Re: PowerPC -many

2017-02-14 Thread Alan Modra
On Tue, Feb 14, 2017 at 06:38:40PM -0600, Segher Boessenkool wrote: > On Wed, Feb 15, 2017 at 10:36:02AM +1030, Alan Modra wrote: > > Since we've been talking about obsoleting cpu support, how about > > getting rid of -many in ASM_CPU_SPEC for gcc-8? > > Sure, but

PowerPC -many

2017-02-14 Thread Alan Modra
cpus (with presumably run-time selection of which block of code gets executed depending on cpu). It used to be just a linux hack, but I see David uses it in aix61.h and aix71.h too? -- Alan Modra Australia Development Lab, IBM

Re: GNU indirect functions vs. symbol visibility

2016-08-25 Thread Alan Modra
On Thu, Aug 25, 2016 at 01:36:53PM +0200, Florian Weimer wrote: > * Alan Modra: > > > glibc people: As the main user of ifuncs, how do you feel about not > > declaring functions hidden that are implemented in glibc by ifuncs? > > We have run into this before

GNU indirect functions vs. symbol visibility

2016-08-24 Thread Alan Modra
Discussion started here: https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01678.html On Wed, Aug 24, 2016 at 08:51:16PM +0300, Alexander Monakov wrote: > On Wed, 24 Aug 2016, Alan Modra wrote: > > Given a hidden visibility function declaration, the toolchain can say > > that the funct

Re: Preventing preemption of 'protected' symbols in GNU ld 2.26 [aka should we revert the fix for 65248]

2016-04-25 Thread Alan Modra
l see some resistance to that idea due to the fact that it delivers quite a nice performance improvement for PIEs. -- Alan Modra Australia Development Lab, IBM

Re: Preventing preemption of 'protected' symbols in GNU ld 2.26 [aka should we revert the fix for 65248]

2016-04-19 Thread Alan Modra
On Tue, Apr 19, 2016 at 10:20:23AM +0200, Richard Biener wrote: > On Tue, Apr 19, 2016 at 7:08 AM, Alan Modra wrote: > > On Mon, Apr 18, 2016 at 07:59:50AM -0700, H.J. Lu wrote: > >> On Mon, Apr 18, 2016 at 7:49 AM, Alan Modra wrote: > >> > On Mon, Apr 18, 201

Re: Preventing preemption of 'protected' symbols in GNU ld 2.26 [aka should we revert the fix for 65248]

2016-04-18 Thread Alan Modra
On Mon, Apr 18, 2016 at 07:59:50AM -0700, H.J. Lu wrote: > On Mon, Apr 18, 2016 at 7:49 AM, Alan Modra wrote: > > On Mon, Apr 18, 2016 at 11:01:48AM +0200, Richard Biener wrote: > >> To summarize: there is currently no testcase for a wrong-code issue > >> because t

Re: Preventing preemption of 'protected' symbols in GNU ld 2.26 [aka should we revert the fix for 65248]

2016-04-18 Thread Alan Modra
ing to the var from code within the shared library, that now merrily writes to a .dynbss copy. -- Alan Modra Australia Development Lab, IBM

Re: Some aliasing questions

2016-04-11 Thread Alan Modra
to set (reg tmp) (high (const (minus ((symbol_ref) (reg 2) .. mem (lo_sum (reg tmp) (const (minus ((symbol_ref) (reg 2) both high and lo_sum reference r2 and the linker could happily replace rtmp in the lo_sum insn with r2 when the high address is known to be zero. Bill, do you have test cases for the alias problem? Is this something that needs fixing for gcc-6? -- Alan Modra Australia Development Lab, IBM

Re: September 2015 GNU Toolchain Update

2015-09-27 Thread Alan Modra
t-addr-optimize. -- Alan Modra Australia Development Lab, IBM

Re: ppc eabi float arguments

2015-09-23 Thread Alan Modra
ll run into trouble trying to define a function with more than eight float args if writing K&R code. Old programmers tend to know about such issues, and don't use float function parameters in K&R code. :) Incidentally, there are other rather more nasty parameter passing problems with ppc32, ones I would have liked to fix. For instance, "complex double" is passed in 4 gprs. -- Alan Modra Australia Development Lab, IBM

Re: ppc eabi float arguments

2015-09-22 Thread Alan Modra
eir code in order to fix an ABI problem. That may be more disrupting than just leaving gcc incompatible with other compilers. -- Alan Modra Australia Development Lab, IBM

Re: Adding static-PIE support to binutils

2015-08-18 Thread Alan Modra
master with your output_type changes. This is OK to commit with a suitable ChangeLog. I think a separate ld option is best too, because historically -static and its aliases -Bstatic, -dn, -non_shared really are about what type of libraries are accepted rather than choosing linker output type. -- Ala

Re: CFI directives and dynamic stack alignment

2015-08-17 Thread Alan Modra
On Mon, Aug 17, 2015 at 10:38:22AM -0700, Steve Ellcey wrote: > On Tue, 2015-08-11 at 10:05 +0930, Alan Modra wrote: > > > > The 'and' instruction is where the stack gets aligned and if I remove that > > > one instruction, everything works. I think I need to put

Re: CFI directives and dynamic stack alignment

2015-08-10 Thread Alan Modra
to me that you have more than just CFI problems. How do you restore sp on return from the function, assuming sp wasn't 16-byte aligned to begin with? Past that "and $sp,$sp,$3" you don't have any means of calculating the original value of sp! (Which of course is why you also can't find a way of representing the frame address.) -- Alan Modra Australia Development Lab, IBM

Re: configure.{in -> ac} rename (commit 35eafcc71b) broke in-tree binutils building of gcc

2015-07-14 Thread Alan Modra
r a year ago so I guess this shows that not too many people use combined binutils+gcc builds nowadays. I've always found combined binutils+gcc builds not worth the bother compared to simply building and installing binutils first, as Jim suggests. -- Alan Modra Australia Development Lab, IBM

Re: rtx_cost of insns

2015-06-29 Thread Alan Modra
On Mon, Jun 29, 2015 at 09:34:40AM -0500, Segher Boessenkool wrote: > On Mon, Jun 29, 2015 at 05:16:39PM +0930, Alan Modra wrote: > > Note that we already have insn_rtx_cost, and it returns a minimum cost > > for a SET, so register move insns get a cost of 1 insn. Howev

rtx_cost of insns

2015-06-29 Thread Alan Modra
ifficulty is in separating out the whole insn cases from the partial insn cases. Note that we already have insn_rtx_cost, and it returns a minimum cost for a SET, so register move insns get a cost of 1 insn. However, despite insn_rtx_cost starting life in combine.c, even combine doesn't use it in

Re: set_src_cost lying comment

2015-06-24 Thread Alan Modra
r3) (plus (reg x) (const_int 1))) (set (reg r4) (plus (reg x) (const_int 1))) So in these examples we'd really like register moves to cost one insn. Hmm, at least, moves from hard regs ought to cost something. -- Alan Modra Australia Development Lab, IBM

set_src_cost lying comment

2015-06-21 Thread Alan Modra
as a series of adds and shifts against the cost of a multiply. If all those adds and shifts are costed at zero, then synth_mult can't do its job. So what should that comment say? -- Alan Modra Australia Development Lab, IBM

Re: Better info for combine results in worse code generated

2015-06-02 Thread Alan Modra
On Tue, Jun 02, 2015 at 11:28:09AM -0500, Segher Boessenkool wrote: > On Tue, Jun 02, 2015 at 08:49:37AM +0930, Alan Modra wrote: > > but and64_2_operand doesn't include all of and_operand! > > Maybe I'm slow today, but I don't see it? Do you have an example? I ne

Re: Better info for combine results in worse code generated

2015-06-01 Thread Alan Modra
On Mon, Jun 01, 2015 at 08:39:05AM -0500, Segher Boessenkool wrote: > On Mon, Jun 01, 2015 at 11:33:18AM +0930, Alan Modra wrote: > > Unifying andsi_mask with anddi_mask, and the fact that constraints for > > const_int see VOIDmode rather than the operand mode is why we get > &g

Re: Better info for combine results in worse code generated

2015-05-31 Thread Alan Modra
On Sat, May 30, 2015 at 08:02:20AM -0500, Segher Boessenkool wrote: > On Sat, May 30, 2015 at 10:47:27AM +0930, Alan Modra wrote: > > Huh, that does look like you've destroyed my claim about SImode AND. > > Carefully worded :-) Yes, I wrote it meaning as in refuted an argume

Re: Better info for combine results in worse code generated

2015-05-29 Thread Alan Modra
On Fri, May 29, 2015 at 10:00:04AM -0500, Segher Boessenkool wrote: > On Fri, May 29, 2015 at 11:20:08PM +0930, Alan Modra wrote: > > On Fri, May 29, 2015 at 07:58:38AM -0500, Segher Boessenkool wrote: > > > On Fri, May 29, 2015 at 12:41:20PM +0930, Alan Modra wrote: > >

Re: Better info for combine results in worse code generated

2015-05-29 Thread Alan Modra
On Fri, May 29, 2015 at 07:58:38AM -0500, Segher Boessenkool wrote: > On Fri, May 29, 2015 at 12:41:20PM +0930, Alan Modra wrote: > > +/* Describe how rtl operations on registers behave on this target when > > + operating on less than the entire register. */ > >

Re: Better info for combine results in worse code generated

2015-05-28 Thread Alan Modra
: (GET_CODE (OP) == AND \ + || GET_CODE (OP) == ZERO_EXTEND \ + || GET_CODE (OP) == ASHIFT \ + || GET_CODE (OP) == ROTATE \ + || GET_CODE (OP) == LSHIFTRT)\ + ? ZERO_EXTEND \ + : (GET_CODE (OP) == SIGN_EXTEND \ + || GET_CODE (OP) == ASHIFTRT)\ + ? SIGN_EXTEND \ + : UNKNOWN) + /* Define if loading in MODE, an integral mode narrower than BITS_PER_WORD will either zero-extend or sign-extend. The value of this macro should be the code that says which one of the two operations is implicitly -- Alan Modra Australia Development Lab, IBM

Re: Better info for combine results in worse code generated

2015-05-28 Thread Alan Modra
creaed I don't think you'll see them generated at all, which would fix my testcase but probably regress others. -- Alan Modra Australia Development Lab, IBM

Better info for combine results in worse code generated

2015-05-28 Thread Alan Modra
Does anyone have any clues as to how I might fix this? I'm not keen on adding an insn_and_split to rs6000.md to recognize the 6 -> 8 combination, because one of the aims of the wider patch I was working on was to remove patterns like rotlsi3_64, ashlsi3_64, lshrsi3_64 and ashrsi3_64. Addi

Re: [RFC] Combine related fail of gcc.target/powerpc/ti_math1.c

2015-05-22 Thread Alan Modra
sn't do anything fancy, just stops gratuitous register reordering. If simplification or canonicalization occurs, then registers may well be reordered. -- Alan Modra Australia Development Lab, IBM

Re: [RFC] Combine related fail of gcc.target/powerpc/ti_math1.c

2015-05-21 Thread Alan Modra
On Thu, May 21, 2015 at 07:39:16AM -0500, Segher Boessenkool wrote: > On Thu, May 21, 2015 at 08:06:04PM +0930, Alan Modra wrote: > > FAIL: gcc.target/powerpc/ti_math1.c scan-assembler-times adde 1 > > It doesn't trigger on big-endian; what is different? Register depen

[RFC] Combine related fail of gcc.target/powerpc/ti_math1.c

2015-05-21 Thread Alan Modra
DI 76 ca) (reg:DI 165 [ val+8 ])) (reg:DI 169 [+8 ])) and the latter has the ca register in the wrong place. So a split is tried and you get addze. I'm working on this. The reordering happens inside simplify_plus_minus. -- Alan Modra Australia Development Lab, IBM

Re: Undefined Local Symbol on PowerPC

2015-04-15 Thread Alan Modra
On Wed, Apr 15, 2015 at 04:10:33PM -0500, Joel Sherrill wrote: > Based on the grep, the .4byte directives are referencing a bogus symbol. > > Does this look like a GCC bug? Yes, unless you have some horrible asm there referencing the symbol. -- Alan Modra Australia Development Lab, IBM

--disable-shared bootstrap dies building libcc1

2015-02-13 Thread Alan Modra
sable-plugin too, but shouldn't this be automatic if --disable-shared is given? -- Alan Modra Australia Development Lab, IBM

Re: Failure to dlopen libgomp due to static TLS data

2015-02-12 Thread Alan Modra
On Thu, Feb 12, 2015 at 06:55:30PM -0500, Rich Felker wrote: > On Fri, Feb 13, 2015 at 10:12:11AM +1030, Alan Modra wrote: > > I posted support for TLSDESC on powerpc back in 2009 (search for > > powerpc _tls_get_addr call optimization). The patch wasn't reviewed, > > an

Re: Failure to dlopen libgomp due to static TLS data

2015-02-12 Thread Alan Modra
odel "for performance" are a problem that's not going to go away > until TLSDESC gets properly adopted. I posted support for TLSDESC on powerpc back in 2009 (search for powerpc _tls_get_addr call optimization). The patch wasn't reviewed, and I didn't push it because my benchmark tests didn't show a much of a gain. Quite possibly I wasn't using the right benchmark. -- Alan Modra Australia Development Lab, IBM

Re: LTO and version scripts

2014-08-06 Thread Alan Modra
On Tue, Aug 05, 2014 at 08:18:06PM -0400, Ulrich Drepper wrote: > On Tue, Aug 5, 2014 at 12:57 AM, Alan Modra wrote: > > What version linker? In particular, do you have the fix for PR12975? > > The Fedora 19 version. I think it hasn't changed since then which > means it

Re: LTO and version scripts

2014-08-04 Thread Alan Modra
ta to the linker plugin. So it's a linker bug AFAIU. What version linker? In particular, do you have the fix for PR12975? -- Alan Modra Australia Development Lab, IBM

Re: Reload generate invalid instruction on ppc64

2014-08-04 Thread Alan Modra
the operand constraints. What's more, you can't make them match without breaking up the insn, or adding a whole lot of extra alternatives. -- Alan Modra Australia Development Lab, IBM

Re: [RFC] PR61300 K&R incoming args

2014-06-05 Thread Alan Modra
d that you could flush arguments to it. That's not true in the > case where the caller had a prototype for the callee in-scope (and > the callee was not a varargs function). > > Right? Just want to make sure I understand the problem. Exactly correct. -- Alan Modra Australia Development Lab, IBM

Re: [RFC] PR61300 K&R incoming args

2014-06-02 Thread Alan Modra
On Mon, Jun 02, 2014 at 12:00:41PM +0200, Florian Weimer wrote: > On 05/31/2014 08:56 AM, Alan Modra wrote: > > >>It's fine to change ABI when compiling an old-style function > >>definition for which a prototype exists (relative to the > >>non-pro

Re: [RFC] PR61300 K&R incoming args

2014-05-30 Thread Alan Modra
On Fri, May 30, 2014 at 09:22:30PM +0200, Florian Weimer wrote: > On 05/26/2014 09:38 AM, Alan Modra wrote: > > >Background: The ELFv2 ABI requires a parameter save area only when > >stack is actually used to pass parameters, and since varargs are > >passed on the stack,

Re: [RFC] PR61300 K&R incoming args

2014-05-30 Thread Alan Modra
On Fri, May 30, 2014 at 11:27:52AM -0600, Jeff Law wrote: > On 05/26/14 01:38, Alan Modra wrote: > >PR61300 shows a need to differentiate between incoming and outgoing > >REG_PARM_STACK_SPACE for the PowerPC64 ELFv2 ABI, due to code like > >function.c:assign_parm_is_stack_pa

[RFC] PR61300 K&R incoming args

2014-05-26 Thread Alan Modra
PACE +#undef REG_PARM_STACK_SPACE +#define REG_PARM_STACK_SPACE INCOMING_REG_PARM_STACK_SPACE +#endif + /* If not defined, pick an appropriate default for the offset of dynamically allocated memory depending on the value of ACCUMULATE_OUTGOING_ARGS, REG_PARM_STACK_SPACE, and OUTGOING_REG_PARM_S

Re: gcc's obvious patch policy

2013-11-26 Thread Alan Modra
On Tue, Nov 26, 2013 at 10:01:23AM +0100, Steven Bosscher wrote: > On Tue, Nov 26, 2013 at 6:17 AM, Alan Modra wrote: > > Was Re: [buildrobot] [PATCH] mips: Really remove ENTRY_BLOCK_PTR > > On Wed, Nov 20, 2013 at 10:08:45AM +0100, Steven Bosscher wrote: > >> This patch

Re: rs6000: load_multiple code

2013-11-22 Thread Alan Modra
On Fri, Nov 22, 2013 at 09:31:18AM +, Paulo Matos wrote: > > From: Alan Modra [mailto:amo...@gmail.com] > > On Wed, Nov 20, 2013 at 05:06:13PM +, Paulo Matos wrote: > > > I am looking into how rs6000 implements load multiple code > > [snip] > > &g

Re: g++ -Wl,--as-needed -pthread behaviour

2013-09-24 Thread Alan Modra
On Tue, Sep 24, 2013 at 01:13:53PM +0100, Jonathan Wakely wrote: > On 24 September 2013 02:22, Alan Modra wrote: > > > > Try compiling that testcase with -static rather than -Wl,--as-needed. > > You'll hit std::system_error just like you do here. I believe that is >

Re: g++ -Wl,--as-needed -pthread behaviour

2013-09-23 Thread Alan Modra
readed" should continue to use weak references. Solving the problem with --as-needed and libstdc++.so isn't so easy. One solution might be to split off thread support from libstdc++.so.6. Otherwise we'd need to solve the transitive reference somehow. ie. Teach the linker that a

Re: lower-subreg and IBM long double

2013-06-10 Thread Alan Modra
On Mon, Jun 10, 2013 at 06:31:55PM -0700, Andrew Pinski wrote: > On Mon, Jun 10, 2013 at 6:00 PM, David Edelsohn wrote: > > On Mon, Jun 10, 2013 at 8:26 PM, Alan Modra wrote: > > > >> The following patch disables lower-subreg for double double TFmode, > >> boot

lower-subreg and IBM long double

2013-06-10 Thread Alan Modra
cc/doc/tm.texi.in === --- gcc/doc/tm.texi.in (revision 199781) +++ gcc/doc/tm.texi.in (working copy) @@ -6375,6 +6375,12 @@ registers on machines with lots of registers. @end deftypefn +@hook TARGET_INIT_LOWER_SUBREG +This hook al

[RS6000] strict alignment for little-endian

2013-06-06 Thread Alan Modra
C "" -#defineCC1_ENDIAN_LITTLE_SPEC "\ -%{!mstrict-align: %{!mno-strict-align: \ -%{!mcall-i960-old: \ - -mstrict-align \ -} \ -}}" +#defineCC1_ENDIAN_LITTLE_SPEC "" #defineCC1_ENDIAN_DEFAULT_SPEC "%(cc1_endian_big)" -- Alan Modra Australia Development Lab, IBM

Re: Excessive calls to iterate_phdr during exception handling

2013-05-28 Thread Alan Modra
n dlopen/dlclose happens in another thread. To be clear, I'm talking about a dlclose on an object that your thread doesn't access. Such a dlclose shouldn't affect your thread in any way. But if glibc's list of loaded objects was allowed to change while your thread was running dl_iterate_phdr, then dl_iterate_phdr could potentially read freed list entries. -- Alan Modra Australia Development Lab, IBM

Re: Excessive calls to iterate_phdr during exception handling

2013-05-27 Thread Alan Modra
nd_Find_registered_FDE is to support an older method of finding FDEs. Newer executables and shared libraries on linux will use PT_GNU_EH_FRAME, so don't expect _Unwind_Find_registered_FDE to do anything except waste time! google eh_frame_hdr for more info. C++ and threading is a minefield. --

Re: Is this power gcc bug?

2013-03-29 Thread Alan Modra
of > unsigned long 64. Nope, unsigned long is 32 bits for -m32. -- Alan Modra Australia Development Lab, IBM

Re: [PATCH] rs6000: Disable generation of lwa in 32-bit mode

2012-10-27 Thread Alan Modra
x27;t it? -- Alan Modra Australia Development Lab, IBM

Re: PR53914, rs6000 constraints and reload queries

2012-08-01 Thread Alan Modra
traint everywhere. For example, long long llo (long long *x) { return x[4095]; } will generate better powerpc -m32 -O2 code with your patch applied, I think. -- Alan Modra Australia Development Lab, IBM

PR53914, rs6000 constraints and reload queries

2012-07-17 Thread Alan Modra
ot;*,load,store,*,*,*,fp,fpload,fpstore,mfjmpr,mtjmpr,*,vecsimple") + [(set_attr "type" "store,load,*,*,*,*,fp,fpload,fpstore,mfjmpr,mtjmpr,*,vecsimple") (set_attr "length" "4,4,4,4,4,20,4,4,4,4,4,4,4")]) ;; immediate value valid for a single instruction hiding in a const

Re: A case where PHI-OPT pessimizes the code

2012-04-23 Thread Alan Modra
On Mon, Apr 23, 2012 at 06:07:52PM +0200, Steven Bosscher wrote: > On Mon, Apr 23, 2012 at 4:43 PM, Alan Modra wrote: > > On Mon, Apr 23, 2012 at 02:50:13PM +0200, Steven Bosscher wrote: > >> csui = (ONEUL << a); > >> b = ((csui & cst) != 0); > &g

Re: A case where PHI-OPT pessimizes the code

2012-04-23 Thread Alan Modra
& cst) >> a; Other targets would probably benefit too. -- Alan Modra Australia Development Lab, IBM

powerpc compare_and_swap fails

2011-11-17 Thread Alan Modra
1, OPTAB_LIB_WIDEN); -- Alan Modra Australia Development Lab, IBM

Re: Shrink wrapping issues

2011-11-05 Thread Alan Modra
hether something won't be > spilled on the stack and we need/want 32-byte aligned stack slots > for that spilling. Huh? thread_prologue_and_epilogue is after reload. So your backend ought to be able to figure out whether an aligned stack is needed. -- Alan Modra Australia Development Lab, IBM

Re: Need help resolving PR target/50906

2011-11-01 Thread Alan Modra
On Mon, Oct 31, 2011 at 10:58:03AM -0500, Moffett, Kyle D wrote: > I have not yet been able to figure out if it's a libgcc issue or an > actual compiler issue. It is a gcc bug. I've added a comment to the PR. -- Alan Modra Australia Development Lab, IBM

Re: PowerPC shrink-wrap support 0 of 3

2011-09-22 Thread Alan Modra
On Thu, Sep 22, 2011 at 12:58:51AM +0930, Alan Modra wrote: > I spent a little time today looking at why shrink wrap is failing to > help on PowerPC, and it turns out that the optimization simply doesn't > trigger that often due to prologue clobbered regs. PowerPC uses r0 as &

Re: PATCH: Support mixing .init_array.* and .ctors.* input sections

2010-12-14 Thread Alan Modra
rtbegin?.o(.ctors)) > +${CTORS} > ${CONSTRUCTING+${CTOR_END}} >}" > DTOR=".dtors${CONSTRUCTING-0} : > @@ -267,9 +291,7 @@ DTOR=".dtors${CONSTRUCTING-0} : > ${CONSTRUCTING+${DTOR_START}} > KEEP (*crtbegin.o(.dtors)) > KEEP (*crtbegin?.o(.dtors)) > -KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors)) > -KEEP (*(SORT(.dtors.*))) > -KEEP (*(.dtors)) > +${DTORS} > ${CONSTRUCTING+${DTOR_END}} >}" No need to make any changes to .ctors or .dtors. If .init_array and .fini_array match input .ctors or .dtors sections, then any later match will simply be ignored. -- Alan Modra Australia Development Lab, IBM

Re: PATCH: 2 stage BFD linker for LTO plugin

2010-12-06 Thread Alan Modra
ong way to go. On the other hand, BFD is full of bad ideas.. I'm not strongly opposed to your patch myself. HJ, you showed that link times for gcc did not regress too much with your 2 stage lto link patch. It would be more interesting to see the results for a large C++ project, mozilla for

Re: RFC: Add zlib source to src CVS resposity

2010-11-01 Thread Alan Modra
ting zlib. I'm against importing zlib into binutils, and I think we should keep support of compressed debug sections conditional, to avoid potential bootstrap problems or circular dependencies. -- Alan Modra Australia Development Lab, IBM

Re: %pc relative addressing of string literals/const data

2010-10-26 Thread Alan Modra
And I > can't even help, I'm not a ppc maintainer. I also cannot approve gcc patches. -- Alan Modra Australia Development Lab, IBM

Re: %pc relative addressing of string literals/const data

2010-10-11 Thread Alan Modra
(watch out for the .got header!). -- Alan Modra Australia Development Lab, IBM

Re: %pc relative addressing of string literals/const data

2010-10-05 Thread Alan Modra
oo: addis 11,2,x...@toc@ha addis 9,2,y...@toc@ha lwz 3,x...@toc@l(11) <-- TOC/GOT pointer relative lwz 0,y...@toc@l(9) add 3,3,0 extsw 3,3 blr x...@toc is equivalent to @GOTOFF on other processors. -- Alan Modra Australia Development Lab, IBM

PowerPC64, optimization too aggressive?

2010-06-23 Thread Alan Modra
On Tue, Jun 08, 2010 at 10:27:03PM +0930, Alan Modra wrote: > PowerPC64 gcc support for a larger TOC via -mcmodel option. [snip] I'm having second thoughts about the optimization I added to PowerPC64 gcc with the patch hunk below. Its effect is to use a more efficient TOC/GOT pointer

Re: powerpc-eabi-gcc no implicit FPU usage

2010-05-20 Thread Alan Modra
e fp regs rather than gp regs. -- Alan Modra Australia Development Lab, IBM

Re: Gprof can account for less than 1/3 of execution time?!?!

2010-02-21 Thread Alan Modra
On Sun, Feb 21, 2010 at 12:27:04PM -0600, Jon Turner wrote: > The program in question has been compiled with -pg for all > source code files. Linked statically too? If not, the missing time is probably spent in libc.so or other shared libraries. -- Alan Modra Australia Development Lab, IBM

Re: [LTO merge][0/15] Description of the final 15 patches

2009-09-29 Thread Alan Modra
lable since including non-pic # code would insert text relocations into libopcodes. -- Alan Modra Australia Development Lab, IBM

Re: Should -Wjump-misses-init be in -Wall?

2009-06-22 Thread Alan Modra
I'm of course aware that arrays can be initialized and their size set, structs and unions initialized, but by and large, in C, an initialization is simply an assignment.) So, why single out the initial assignment? If skipping it deserves a warning then skipping other assignments deserves a warning too, which would be ridiculous. -- Alan Modra Australia Development Lab, IBM

Re: Linking very large application with GCC trunk on powerpc-linux leads to relocation error of crtbegin/end.o

2008-08-06 Thread Alan Modra
Found it, finally. powerpc ld --relax had a bug affecting -fPIC code. See http://sourceware.org/ml/binutils/2008-08/msg00040.html -- Alan Modra Australia Development Lab, IBM

Re: Linking very large application with GCC trunk on powerpc-linux leads to relocation error of crtbegin/end.o

2008-06-30 Thread Alan Modra
ing sections are handled specially by elf32.em. */ *(.gnu.warning) ${RELOCATING+${OTHER_TEXT_SECTIONS}} } =${NOP-0} -- Alan Modra Australia Development Lab, IBM

Re: Linking very large application with GCC trunk on powerpc-linux leads to relocation error of crtbegin/end.o

2008-06-16 Thread Alan Modra
he destructor function run from .fini and crtend.o defines the constructor run from .init. It really should be the other way around, since this arrangement results in maximmum offset branches, from the .init section located before .text to a function at the end of .text, and from the .fini section located

Re: Possible GCC 4.3 driver regression caused by your patch

2008-03-02 Thread Alan Modra
ler on a native host without too much trouble. -- Alan Modra Australia Development Lab, IBM

  1   2   >