Deleted Added
full compact
tc-ppc.c (78828) tc-ppc.c (80016)
1/* tc-ppc.c -- Assemble for the PowerPC or POWER (RS/6000)
2 Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
3 Free Software Foundation, Inc.
4 Written by Ian Lance Taylor, Cygnus Support.
5
6 This file is part of GAS, the GNU Assembler.
7
8 GAS is free software; you can redistribute it and/or modify

--- 2326 unchanged lines hidden (view full) ---

2335/* XCOFF specific pseudo-op handling. */
2336
2337/* This is set if we are creating a .stabx symbol, since we don't want
2338 to handle symbol suffixes for such symbols. */
2339static boolean ppc_stab_symbol;
2340
2341/* The .comm and .lcomm pseudo-ops for XCOFF. XCOFF puts common
2342 symbols in the .bss segment as though they were local common
1/* tc-ppc.c -- Assemble for the PowerPC or POWER (RS/6000)
2 Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
3 Free Software Foundation, Inc.
4 Written by Ian Lance Taylor, Cygnus Support.
5
6 This file is part of GAS, the GNU Assembler.
7
8 GAS is free software; you can redistribute it and/or modify

--- 2326 unchanged lines hidden (view full) ---

2335/* XCOFF specific pseudo-op handling. */
2336
2337/* This is set if we are creating a .stabx symbol, since we don't want
2338 to handle symbol suffixes for such symbols. */
2339static boolean ppc_stab_symbol;
2340
2341/* The .comm and .lcomm pseudo-ops for XCOFF. XCOFF puts common
2342 symbols in the .bss segment as though they were local common
2343 symbols, and uses a different smclas. */
2343 symbols, and uses a different smclas. The native Aix 4.3.3 assember
2344 aligns .comm and .lcomm to 4 bytes. */
2344
2345static void
2346ppc_comm (lcomm)
2347 int lcomm;
2348{
2349 asection *current_seg = now_seg;
2350 subsegT current_subseg = now_subseg;
2351 char *name;

--- 25 unchanged lines hidden (view full) ---

2377 ignore_rest_of_line ();
2378 return;
2379 }
2380
2381 if (! lcomm)
2382 {
2383 /* The third argument to .comm is the alignment. */
2384 if (*input_line_pointer != ',')
2345
2346static void
2347ppc_comm (lcomm)
2348 int lcomm;
2349{
2350 asection *current_seg = now_seg;
2351 subsegT current_subseg = now_subseg;
2352 char *name;

--- 25 unchanged lines hidden (view full) ---

2378 ignore_rest_of_line ();
2379 return;
2380 }
2381
2382 if (! lcomm)
2383 {
2384 /* The third argument to .comm is the alignment. */
2385 if (*input_line_pointer != ',')
2385 align = 3;
2386 align = 2;
2386 else
2387 {
2388 ++input_line_pointer;
2389 align = get_absolute_expression ();
2390 if (align <= 0)
2391 {
2392 as_warn (_("ignoring bad alignment"));
2387 else
2388 {
2389 ++input_line_pointer;
2390 align = get_absolute_expression ();
2391 if (align <= 0)
2392 {
2393 as_warn (_("ignoring bad alignment"));
2393 align = 3;
2394 align = 2;
2394 }
2395 }
2396 }
2397 else
2398 {
2399 char *lcomm_name;
2400 char lcomm_endc;
2401
2395 }
2396 }
2397 }
2398 else
2399 {
2400 char *lcomm_name;
2401 char lcomm_endc;
2402
2402 if (size <= 1)
2403 align = 0;
2404 else if (size <= 2)
2405 align = 1;
2406 else if (size <= 4)
2403 if (size <= 4)
2407 align = 2;
2408 else
2409 align = 3;
2410
2411 /* The third argument to .lcomm appears to be the real local
2412 common symbol to create. References to the symbol named in
2413 the first argument are turned into references to the third
2414 argument. */

--- 2772 unchanged lines hidden ---
2404 align = 2;
2405 else
2406 align = 3;
2407
2408 /* The third argument to .lcomm appears to be the real local
2409 common symbol to create. References to the symbol named in
2410 the first argument are turned into references to the third
2411 argument. */

--- 2772 unchanged lines hidden ---